Oracle:在两列中返回不同的值

时间:2016-04-06 14:33:04

标签: oracle

我有这个查询,并希望只返回2列中的差异......

SELECT 
    C.id, C.START, D.start1
FROM 
    table1 C
LEFT JOIN 
    table2 D ON C.ID = D.ID AND C.CARD = D.CARD

表:

 Id      Start     start1
  1      1/1/15    1/1/15
  2      1/2/15    1/2/15
  3      1/5/15    1/6/15
  4      1/9/15    1/9/16

我想看看......

 Id      Start      Start1
 3      1/5/15      1/6/15
 4      1/9/15      1/9/16

我不知道从哪里开始,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

使用此:

Select Id,Start,start1 from table where start !=start1

答案 1 :(得分:1)

这样可行:通过外部查询换行查询并检查条件

SELECT * FROM
 (
    SELECT C.id, C.START, D.start1
    FROM table1 C
    LEFT JOIN table2 D ON C.ID = D.ID AND C.CARD = D.CARD
 ) q
WHERE q.START != q.start1