在 SQL 上将具有相同 ID 的多行描述合并为一行

Merge Multiple Row Description With Same ID in One Row on SQL

相信我,这是经典的,但我不知道如何解决这个问题:

这是我的数据源

    ID   Color  Description 
    -----------------------  
    10   White  MR    
    10   White  DREAM  
    10   White  TURTLENIP  

我的输出数据应该是这样的:

    ID   Color   Description 
    ------------------------  
    10   White   MR, DREAM, TURTLENIP    

我使用 COALESCE,但它似乎不适用于此报告。

P.S 这是我的案例中的一个简单问题,我在一份报告中查询了很多内部联接以合并另一个 table。但是我不知道如何将多行Desc合并为一行。

您需要字符串聚合。如果你是 运行 SQL Server 2017 或更高版本,你可以使用 string_agg():

select id, string_agg(descr, ', ') all_descr
from mytable
group by id

请注意,desc 是语言关键字(如 order by ... desc),因此不是列名的好选择。我在查询中将其重命名为 descr