gpt4 book ai didi

sql-server - SQL Server 中 XML 的嵌套元素

转载 作者:行者123 更新时间:2023-12-01 23:40:41 25 4
gpt4 key购买 nike

我正在尝试从 SQL Server 创建 XML,但我被嵌套元素困住了。我尝试了不同的 FOR XML 参数,但仍然无法获得正确的结果。

查询看起来像这样:

SELECT 
Product.ID, Product.ProductName,
(SELECT
Images.ProductImage AS image
FROM Images
WHERE Images.ProductID = Product.ID
FOR XML PATH ('image_list'), ELEMENTS, TYPE
)
FROM (SELECT DISTINCT ID, ProductName FROM Product) Product
FOR XML PATH ('products'), ELEMENTS, root ('Root')

我想得到这样的 XML:

<Root>
<products>
<ID>1</ID>
<ProductName>product 1</ProductName>
<image_list>
<image>picture1.jpg</image>
<image>picture2.jpg</image>
<image>picture3.jpg</image>
</image_list>
</products>
<products>
<ID>2</ID>
<ProductName>product 2</ProductName>
<image_list>
<image>picture1.jpg</image>
<image>picture2.jpg</image>
</image_list>
</products>
</Root>

第一部分没问题,image_list 有问题。有什么建议吗?

最佳答案

我解决了 :) ..可能是在大脑开始工作之后发布一个问题 :)

我在子查询下添加 AS 'image_list',删除 ELEMENTS 和 PATH 名称。就是这样。

SELECT 
Product.ID, Product.ProductName,
(SELECT
Images.ProductImage AS image
FROM Images
WHERE Images.ProductID = Product.ID
FOR XML PATH (''), TYPE
) 'image_list'
FROM (SELECT DISTINCT ID, ProductName FROM Product) Product
FOR XML PATH ('products'), ELEMENTS, root ('Root')

结果是:

<Root>
<products>
<ID>1</ID>
<ProductName>product 1 </ProductName>
<image_list>
<image>picture1.jpg</image>
<image>picture2.jpg</image>
<image>picture3.jpg</image>
</image_list>
</products>
<products>
<ID>2</ID>
<ProductName>product 2 </ProductName>
<image_list>
<image>picture1.jpg</image>
<image>picture2.jpg</image>
</image_list>
</products>
</Root>

关于sql-server - SQL Server 中 XML 的嵌套元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41834615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com