oracle 我如何从表中得到行的交集?

66bbxpm5  于 2023-04-20  发布在  Oracle
关注(0)|答案(1)|浏览(93)

我怎样才能在一个单一的行中获得数据?例如,我想从下面的示例表中获得行的交集。

CODE           STATE_DATE1   STATE_DATE2  STATE_DATE3  STATE_DATE4
100_B           2023-04-10    2023-04-11   NULL         NULL
100_B           2023-04-10    2023-04-11   NULL         2023-04-12
100_B           2023-04-10    2023-04-11   2023-04-12   NULL

预期结果:

CODE      STATE_DATE1   STATE_DATE2  STATE_DATE3  STATE_DATE4
100_B      2023-04-10    2023-04-11   2023-04-12   2023-04-12
jmo0nnb3

jmo0nnb31#

使用group byminmax聚合函数:

SELECT
    CODE,
    MAX(STATE_DATE1) STATE_DATE1,
    MAX(STATE_DATE2) STATE_DATE2,
    MAX(STATE_DATE3) STATE_DATE3,
    MAX(STATE_DATE4) STATE_DATE4
FROM
    MYTABLE
GROUP BY
    CODE

相关问题