将具有相同ID和空单元格的3行压缩为没有空单元格的一行

时间:2019-02-28 09:55:41

标签: sql oracle

我有一个表,其数据格式始终一致:

ID C2 C3 C4
-- -- -- --
 1 A
 1    B
 1       C
 2 A
 2    B
 2       C

我希望输出为

ID C2 C3 C4
-- -- -- --
 1 A  B  C
 2 A  B  C

但是在一个较大的数据集上,每个id具有上面显示的样式的3行,其中表包含具有对角线格式的数据的单元格。

1 个答案:

答案 0 :(得分:4)

执行GROUP BY。例如,使用MAX()来选择非null值:

select id, max(c2), max(c3), max(c4)
from tablename
group by id