填充了不同列值的多行中填充的SQL相同ID - 需要一行中的一个ID

时间:2013-08-20 17:35:55

标签: sql sql-server tsql

我有一张如下表:

ID     Col1    Col2    Col3    Col4
001     A       
001             B   
001                     C     
001                              D
002             X
002                              Y

我想要的结果如下:

ID    Col1    Col2    Col3    Col4
001    A       B       C       D
002            X               Y

挑战是列数是未知的,也许它有Col5甚至Col10。 有什么想法吗?非常感激。

1 个答案:

答案 0 :(得分:1)

您可以通过聚合执行此操作:

select id, max(col1) as col1, max(col2) as col2, max(col3) as col3, max(col4) as col4
from t
group by id;

这假设id的列中没有重复项。

对于其他列,您需要在select语句中添加其他子句。