【发布时间】:2020-01-07 07:31:30
【问题描述】:
我有一张这样的桌子:
id | movie | actorid | actor | roleid | rolename
----+---------+---------+---------+--------+------------------
1 | mi3 | 121 | tom | 6 | actor
2 | avenger | 104 | scarlett| 4 | actress
2 | avenger | 3 | russo | 2 | action director
我期待这样的输出:
id | movie | actorid | actor | roleid | rolename
----+---------+---------+----------------+--------+--------------------------
1 | mi3 | 121 | tom | 6 | actor
2 | avenger | 104,3 | scarlett,russo | 4,2 | actress, action director
对于最新的 SQL Server 版本,我看到了 STRING_AGG 函数来连接列或行数据。但是如何使用STUFF 实现 SQL Server 2014 的预期输出?
【问题讨论】:
-
使用
FOR XML PATH。大量相关问题 -
我个人建议不要这样做。您的数据最终会变得非常混乱,并且 SQL Server 没有(本机)分隔字符串中的序数位置的概念。
-
嗨拉努,谢谢你的建议。实际上,我想在
标记中显示每条记录。在 foreach 循环中。而且这个数据是有限的,比如大约 142 行 ..
标签: sql-server tsql string-aggregation