gpt4 book ai didi

SQL 将两个表中的多行数据合并为一行

转载 作者:行者123 更新时间:2023-12-04 20:56:47 25 4
gpt4 key购买 nike

我有来自成员(member)系统中两个表的数据如下:

Table: listuser
userid listid
===========
1 5
1 8
1 3
2 5
2 3
3 4
4 4
5 3
6 4

Table: list
id name
==============
3 Members
4 Non Members
5 Subscribers
8 Test

我想要达到的结果如下:

userid  lists
===================
1 Members, Subscribers, Test,
2 Members, Subscribers
3 Non Members,
4 Non Members,
5 Members,
6 Non Members,

用户可以属于 0 到 n 个列表。我尝试了多种方法,但总是以多行 userid 结束,这是我试图消除的。如果需要一些帮助,我会非常高兴。

最佳答案

试试这个。对你有帮助

SELECT DISTINCT lu2.userid,(
SELECT ISNULL(l1.name, '') + ', '
FROM dbo.listuser lu1 JOIN dbo.list l1 ON lu1.listid = l1.id
WHERE lu1.userid = lu2.userid
FOR XML PATH('')) AS name
FROM dbo.listuser lu2
ORDER BY lu2.userid

关于 SQL Fiddle 的示例

关于SQL 将两个表中的多行数据合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12997612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com