SQL +当没有记录满足条件时返回空记录

时间:2015-11-12 01:27:53

标签: mysql left-join

以下是我桌子的结构。即使条件不匹配,我也想检索记录。 我一直在使用左连接,但由于条件不匹配,记录正在下降。我没有删除记录,而是希望为该列显示空值。 至于选中,左外连接是要走的路。我正在做同样的事情但仍未获得所需的输出。

table 1 
Col1      Col2          Col3                  Col4
1           74          Desc 1          10/01/2015
2           85          Desc 2           09/01/2016
3           96          Desc 3           12/01/2015

table 2
Col4            Col5          Col6
AB               1            10/01/2015
CD               2            09/01/2016
EF               3            7/01/2015
GH               3            08/01/2015

Expected:
c1          dt                 exp   
1            10/01/2015         AB
2            09/01/2016         CD
3            12/01/2015

Getting:
c1          dt                  exp   
1            10/01/2015         AB
2            09/01/2016         CD


select tab1.col1 as c1, tab1.col4 as dt, tab2.col4 as exp
from tab1, tab 2
where tab1.col1 = tab2.col5
and tab1.col4 = tab2.col6(+)

谢谢,

2 个答案:

答案 0 :(得分:0)

不确定你的目标。但这是我的猜测:

http://sqlfiddle.com/#!9/8422d/2

SELECT * 
FROM t1
LEFT JOIN t2
ON t1.col1 = t2.col5
AND t1.col4 = t2.col6

答案 1 :(得分:0)

您想要的是左连接,在您的示例中,您可以使用;

获得预期结果
select *
from tab1 left join tab2
        on tab1.id = tab2.tab1_id and ...etc