我有两张表如下:
用户的
| Name | TagsId |
+--------+--------+
| Bob | 3 |
| Jim | 2 |
| Bob | 2 |
| Frank | 3 |
| Jim | 1 |
标签
| Name | Id |
+---------+-----+
| web | 1 |
| desktop | 2 |
| phone | 3 |
我想要的结果如下:
| Name | TagList |
+-------+----------------+
| Bob | desktop, phone |
| Jim | desktop, web |
| Frank | phone |
我可以使用以下查询在SQL Server 2017中完成此任务:
SELECT
u.name, STRING_AGG (t.name, ', ') as taglist
FROM
users AS u
LEFT JOIN
Tags AS t ON u.TagsId = t.Id
GROUP BY
u.name;
但遗憾的是我的数据存在于SQL Server 2016服务器中,因此无法使用STRING_AGG
函数。
如何在没有STRING_AGG
的情况下完成此操作?