在SQL的一行中合并具有相同ID的多行描述

问题描述

相信我,这是经典之作,但我不知道如何解决

这是我的数据源

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

我的预期输出数据如下所示:

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

我使用COALESCE,但此报告似乎不起作用。

P.S从我的情况来看这是一个简单的问题,我的查询很多内部联接将一个表合并到另一个表中。但是我不知道如何合并多行Desc以合并为一行。

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...