我试了几个小时并阅读了很多帖子,但我仍然无法弄清楚如何处理这个请求:
我有这样一张table:
+------+------+
|roleid|comid |
+------+------+
|11 | A |
+------+------+
|12 | A |
+------+------+
|11 |B |
+------+------+
|12 |B |
+------+------+
|13 |B |
+------+------+
我想选择使用不同的comid多次出现的roleid .
我想输出应该是这样的:
+------+------+
|roleid|comid |
+------+------+
|11 |A,B |
+------+------+
|12 |A,B |
+------+------+
|13 |B |
+------+------+
2 回答
如果您使用的SQL Server版本大于或等于2017,则还可以使用
STRING_AGG
函数并仅使用具有多个不同comid
的roleid
,您必须使用HAVING
caluse:简单地说,你可以使用带有
FOR XML PATH('')
的STUFF()
函数Demo