FOR XML PATH(''):将查询结果集以XML形式展现。
1、select top 1 opr_id,user_id from dbo.tracking_log FOR XML PATH('oprs')
返回结果xml:
<oprs>
<opr_id>100</opr_id>
<user_id>Natalie813</user_id>
</oprs>
字段名就是xml的节点名,可以 AS 别名。PATH括号中的是根节点名。
2、select '['+opr_id+']' from dbo.tracking_log where user_id = 'Natalie813' FOR XML PATH('')
返回结果:[100][2][4][56]
3、select distinct t1.user_id,
(select t2.opr_id+',' from dbo.tracking_log as t2 where t2.user_id = t1.user_id FOR XML PATH('')) as opr
from dbo.tracking_log as t1
-- where t1.user_id = 'Natalie813'
group by t1.user_id
结果:
列名:user_id opr
Natalie813 100,2,4,56,
4、优化步骤3的sql,去掉最后一个逗号
select user_id,LEFT(opr,LEN(opr)-1) from
(
select distinct t1.user_id,
(select t2.opr_id+',' from dbo.tracking_log as t2 where t2.user_id = t1.user_id FOR XML PATH('')) as opr
from dbo.tracking_log as t1
where t1.user_id = 'Natalie813'
group by t1.user_id
) a
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2021-06-10 migration
2021-06-10 java之Map、List、Set、HashMap循环方式