2017-05-31 10 views
0

私はXMLクエリの専門家ではありません...しかし、私は私の目標にはほんの少しのステップが必要です。ネストされたサブタグの結果セットxml T-SQL

以下のクエリを使用してください。

サブタグEANでEANタグに問題が発生しました。

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> 

誰かがこれで私を助けることができますか?

THANKSアレン、イタリア

答えて

1

これをサブクエリとして試してください。

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

ありがとうございました!完璧! ALEN – ACaps

関連する問題