簡體   English   中英

嵌套子標簽結果集xml T-SQL

[英]Nested sub tag resultset xml T-SQL

我不是XML查詢的專家...但是我只需要一點步驟就可以實現我的目標。

用下面的查詢。

子標簽EAN在EANs標簽中出現問題。

SELECT 
    ExternalId,  
    [Name],
    [Description],
    BrandExternalId,
    CategoryExternalId,
    ProductPageUrl,
    ImageUrl,    
    (SELECT ManufacturerPartNumber
     FOR XML PATH('ManufacturerPartNumbers'), TYPE),
    (SELECT b.EAN_Single as EAN  
     FROM #SP b 
     WHERE (ff.ExternalId = b.codart)  
     FOR XML PATH('EANs'), TYPE)
FROM 
    Cestino.acap.Bazaar_Servizio_00 ff with (nolock) 
WHERE 
    [ExternalId] IN (100001023)
FOR XML PATH ('Product'), ROOT('Products'); 

我得到這個結果:

<Products>
    <Product>
        <ExternalId>100001023</ExternalId>
        <Name>Carta Lucida Adesiva Photo Stickers PS-101</Name>
        <Description>Carta lucida Photo Stickers.</Description>
        <BrandExternalId>CANON</BrandExternalId>
        <CategoryExternalId>10132</CategoryExternalId>
        <ManufacturerPartNumbers>
            <ManufacturerPartNumber>0001C001</ManufacturerPartNumber>
        </ManufacturerPartNumbers>
        <EANs>
            <EAN>0138030471030</EAN>
        </EANs>
        <EANs>
            <EAN>5051749491517</EAN>
        </EANs>
    </Product>
</Products>

但我需要結果看起來像這樣:

<EANs>
    <EAN>0138030471030</EAN>
    <EAN>5051749491517</EAN>
</EANs>

有人可以幫我弄這個嗎?

謝謝意大利的阿倫

嘗試將此作為子查詢。

 (SELECT b.EAN_Single as EAN  
     FROM #SP b 
     WHERE (ff.ExternalId = b.codart)  
     FOR XML PATH(''), ROOT('EANS'), TYPE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM