gpt4 book ai didi

sql-server - 使用 FOR XML PATH 向根元素添加计数

转载 作者:数据小太阳 更新时间:2023-10-29 03:01:34 26 4
gpt4 key购买 nike

我有一个返回产品 xml 的 Sql 语句,其中根元素是产品。如何将计数属性添加到根元素。

我的sql是:

SELECT 
id AS 'product_id',
name AS 'product_name'
FROM product
WHERE status = 1 AND ......
ORDER BY productid
FOR XML PATH('product'), ROOT('products')

结果是

<products>
<product>
.
.
</product>
</products>

我想把结果改成

<products count="100">
<product>
.
.
</product>
</products>

最佳答案

SELECT 
COUNT(*) AS '@count',
(
SELECT *
FROM product c1 FOR XML PATH('product'), TYPE
)
FROM product ct FOR XML PATH('products')

最简单的过滤方式是在查询和子查询中都添加条件:

SELECT 
COUNT(*) AS '@count',
(
SELECT *
FROM product c1
WHERE c1.status = 1 AND ......
FOR XML PATH('product'), TYPE
)
FROM product ct
WHERE ct.status = 1 AND ......
FOR XML PATH('products')

或者使用临时表:

SELECT *
INTO #Temp
FROM product c1
WHERE c1.status = 1 AND ......


SELECT
COUNT(*) AS '@count',
(
SELECT *
FROM #Temp c1
FOR XML PATH('product'), TYPE
)
FROM #Temp ct
FOR XML PATH('products')

关于sql-server - 使用 FOR XML PATH 向根元素添加计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32586003/

26 4 0
文章推荐: java - 无法读取架构文档 'http://www.springframework.org/schema/security/spring-security-4.0.xsd'
文章推荐: javascript - 在 JavaScript 中同步使用 setTimeout
文章推荐: javascript - 将 id 添加到动态创建的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com