gpt4 book ai didi

sql-server - SQL Server 2012 创建具有可变数量属性的 xml

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

我有一张这样的 table

;with cte_list(ID, PROPERTY_NAME, PROPERTY_VALUE) as 
(
select '100', 'ABC', 12 union all
select '100', 'AD', 32 union all
select '100', 'AQ', 9 union all
select '200', 'AES', 1 union all
select '200', 'FS', 5
)

我想要这样的结果

ID      XML
--- -----------------------------------
100, <codes ABC="12" AD="32" AQ="9"/>
200, <codes AES="1" FS="5" />

这可能吗?

提前致谢

最佳答案

一种方法

;with
cte_list(ID, PROPERTY_NAME, PROPERTY_VALUE)
as (
select '100', 'ABC', 12 union all
select '100', 'AD', 32 union all
select '100', 'AQ', 9 union all
select '200', 'AES', 1 union all
select '200', 'FS', 5
)
Select A.ID
,XML = cast('<codes '+Stuff((Select concat(' ',Property_Name,'="',Property_Value,'"') From cte_list Where ID=A.ID For XML Path ('')),1,1,'') + ' />' as xml)
From (Select Distinct ID from cte_list) A

返回

ID  XML
100 <codes ABC="12" AD="32" AQ="9" />
200 <codes AES="1" FS="5" />

请注意:property_name 应该是 XML 安全字符串(没有空格等)

关于sql-server - SQL Server 2012 创建具有可变数量属性的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46057814/

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