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

时间:2014-08-06 19:10:00

标签: sql oracle

这是我的主要表格。我有三个列有日期。其中一些是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

2 个答案:

答案 0 :(得分:1)

您正在寻找coalesce功能

select a.id,bid,c.id, 
       coalesce(a.date,b.date,c.date) as date
from ...

答案 1 :(得分:1)

只需使用coalesce()

select a.id, b.id, c.id, coalesce(a.date, b.date, c.date) as date