Sql server 将多个相似的列合并为单个列
我有一张像这样的桌子Sql server 将多个相似的列合并为单个列,sql-server,Sql Server,我有一张像这样的桌子 Id RefNumber LotNum --------------------------- 1 Ref-1 10 2 Ref-1 11 Lotnumber: Lot-Id Lot-Name ------------------- 10 Apple 11 Banana 我需要输出如下所示: Ref-1 Apple,Banana 请帮助我-如何实现此目标?在SQL
Id RefNumber LotNum
---------------------------
1 Ref-1 10
2 Ref-1 11
Lotnumber:
Lot-Id Lot-Name
-------------------
10 Apple
11 Banana
我需要输出如下所示:
Ref-1 Apple,Banana
请帮助我-如何实现此目标?在SQL Server 2017及更高版本上,我们可以在此处使用
STRING\u AGG
:
SELECT
r.RefNumber,
STRING_AGG(l.[Lot-Name]) WITHIN GROUP (ORDER BY l.[Lot-Id]) AS LotNames
FROM Refs r
LEFT JOIN Lotnumber l
ON r.LotNum = l.[Lot-Id]
GROUP BY
r.RefNumber;
它确实有助于您的sql server版本是什么,以及兼容版本是什么?请注意,prasanna已链接到一个问题,该问题存在许多问题,即如果可用,group_concat现在应该做什么。。