gpt4 book ai didi

sql - 在 SQL Server 查询中将一列 Rows 转换为只有一列列

转载 作者:行者123 更新时间:2023-12-02 01:22:43 24 4
gpt4 key购买 nike

我在 SQL Server 2012 中有这个查询:

select 
tblplantitle.id, tblplantoproductpayment.productid
from
tblplantitle
inner join
tblplan on tblplan.plantitleid = tblplantitle.id
inner join
tblplantoproductpayment on tblplantoproductpayment.planid = tblplan.id
group by
tblplantitle.id, tblplantoproductpayment.productid

结果是这样的:

id    productid
1 1
1 2
1 3
1 10
2 5
2 1
3 4
3 11

但我想要这个结果:

1    1,2,3,10
2 5,1
3 4,11

我怎样才能得到那个结果?

最佳答案

试试这个:

WITH cte as 
(
select
tblplantitle.id, tblplantoproductpayment.productid
from
tblplantitle
inner join
tblplan on tblplan.plantitleid = tblplantitle.id
inner join
tblplantoproductpayment on tblplantoproductpayment.planid = tblplan.id
group by
tblplantitle.id, tblplantoproductpayment.productid
)
SELECT id, productid =
STUFF((SELECT ', ' + productid
FROM cte b
WHERE b.id= a.id
FOR XML PATH('')), 1, 2, '')
FROM cte a
GROUP BY id

关于sql - 在 SQL Server 查询中将一列 Rows 转换为只有一列列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968755/

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