سؤال

هل لديها مثال على محور باستخدام جدول مع عمود XML في ذلك - تحول على وجه التحديد بعض العناصر في العمود XML إلى عمود في الجدول المحوري؟ أحاول لبناء واحد، ولكن بناء الجملة هو قتل لي. أكس في مزود من الصعب اللعنة للعمل مع، مقارنة إلى XML في C #. وأظن أن هذا أمر مستحيل، ولكنه لن يضر للتحقق:)

هل كانت مفيدة؟

المحلول

وهنا مثال بسيط لديه المخازن مع تفاصيل المنتج المخزنة في أكس. محور في الجزء السفلي مما يدل على المخازن ومبلغ من السعر حسب الفئات A و B.

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top