Sql 在查询中使用内部/外部联接的问题

Sql 在查询中使用内部/外部联接的问题,sql,oracle,Sql,Oracle,这是我的主桌。我有三列,上面有日期。其中一些是空值。我想输出一些如下所示的东西。我试了很多,但没有得到正确的答案。如果有人能帮忙。谢谢 a.id a.date b.id b.date c.id c.date 3 7/1/2014 11 NULL 21 NULL 5 8/1/2014 12 NULL 22 NULL 5 8/1/2014 13 NULL

这是我的主桌。我有三列,上面有日期。其中一些是空值。我想输出一些如下所示的东西。我试了很多,但没有得到正确的答案。如果有人能帮忙。谢谢

a.id  a.date       b.id   b.date      c.id   c.date
3     7/1/2014     11     NULL        21     NULL
5     8/1/2014     12     NULL        22     NULL
5     8/1/2014     13     NULL        22     NULL
5     8/1/2014     12     NULL        23     NULL
5     8/1/2014     13     NULL        23     NULL
6     NULL         14     06/01/2014  24     NULL
7     NULL         15     NULL        25     09/01/2014
期望输出

a.id  b.id   c.id   date
3     11     21     07/01/2014
5     12     22     08/01/2014
5     13     22     08/01/2014
5     12     23     08/01/2014
5     13     23     08/01/2014
6     14     24     06/01/2014
7     15     25     09/01/2014

您正在寻找
联合
功能

select a.id,bid,c.id, 
       coalesce(a.date,b.date,c.date) as date
from ...
只需使用
coalesce()


您的标题提到了连接,这意味着涉及多个表。列标题的名称似乎也暗示可能涉及3个表(a、b和c)。然而,您的描述似乎暗示所有字段都来自一个表:“这是我的主表,我有三列,其中有三个日期”。你的桌子结构是什么?
select a.id, b.id, c.id, coalesce(a.date, b.date, c.date) as date