Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक्सएमएल कॉलम का उपयोग कर एसक्यूएल पिवट

यहां एक सरल उदाहरण दिया गया है जिसमें उत्पाद विवरण वाले स्टोर xml में संग्रहीत हैं। पिवट सबसे नीचे है जो ए और बी श्रेणियों के आधार पर स्टोर और कीमत का योग दिखाता है।

declare @test Table
(

    StoreID int,
    ProdXml xml
)

insert into @test
select 1, '<product cat="A" name="foo" price="10" />' union
select 2, '<product cat="A" name="bar" price="12" />' union
select 1, '<product cat="B" name="blah" price="35" />' union    
select 2, '<product cat="B" name="bap" price="67" />' union
select 1, '<product cat="C" name="bip" price="18" />' union
select 2, '<product cat="A" name="bing" price="88" />' union
select 1, '<product cat="B" name="bang" price="34" />' union    
select 2, '<product cat="B" name="boom" price="65" />' 

--Pivot showing sum of price by Cat
select  StoreID, A, B
from
(   
    select  StoreID,
        ProdXml.value('/product[1]/@cat[1]','varchar(20)') as [ProdCat],
        ProdXml.value('/product[1]/@price[1]','int') as [ProdPrice]
    from  
        @test
) up
PIVOT (SUM([ProdPrice]) FOR [ProdCat] IN ( A, B)) as pvt
ORDER BY StoreID



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2005 जॉब CmdExec टाइमआउट कैसे सेट करें?

  2. PHP अनुकूली सर्वर कनेक्शन विफल (गंभीरता 9)

  3. तालिका मान पैरामीटर को कैसे बदलें

  4. SQL सर्वर लॉग शिपिंग और डिजास्टर रिकवरी इंस्टाल और कॉन्फ़िगरेशन -4

  5. मैटलैब से माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 (एमएसएसक्यूएल) से कैसे कनेक्ट करें?