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现在应该做什么。。