以下是两张表:用户
row_id user_id 1 1 1 2 1 3 2 1
用户名
user_id username 1 foo 2 bar 3 test
如何按行id分组、连接两个表以及连接用户名?例如:查询应返回
row_id username 1 foo, bar, test 2 foo
l7mqbcuq1#
在sql server 2008中,您需要使用xml黑客:
select r.row_id, stuff( (select ', ' + un.username from users u join usernames un on u.user_id = un.user_id where u.row_id = r.row_id for xml path ('') ), 1, 2, '' ) as names from (select distinct row_id from users) r;
最新版本的sql server支持 string_agg() 使这种方法成为多余的。
string_agg()
1条答案
按热度按时间l7mqbcuq1#
在sql server 2008中,您需要使用xml黑客:
最新版本的sql server支持
string_agg()
使这种方法成为多余的。