表空为MySql连接返回null

时间:2012-07-10 05:40:49

标签: mysql sql

我有2个表:AB。我想要一个查询,如果在2个表中的任何一个表中满足任何值,它将返回结果。我尝试使用连接,但当第二个表为空时返回null,反之亦然。

表A

    emp_no emp_add  data
    12      go      nice 

表B

    emp_no emp_add id 
    12      go      1 

必需输出

    data   id
    nice   1

同样

表A

    emp_no emp_add  data
    12      go      nice 

表B

    emp_no emp_add id 

必需输出

    data  id
    nice


SELECT A.data, B.id 
FROM   A left join B ON A.emp_no = B.emp_no 
WHERE  A.data='nice' 
AND    a.id='1' ;

4 个答案:

答案 0 :(得分:1)

使用Left Join代替您接受空值的表

答案 1 :(得分:1)

试试这个::

Select ifnull(a.data,'') as data, ifnull(b.id,'') as id  from tableA a left join tableB b on (a.emp_no=b.emp_no)

答案 2 :(得分:0)

正如你所说,反之亦然,最好在你的情况下使用Outer Join

 Select tblA.data,tblB.id from tableA tblA FULL OUTER JOIN tableB tblB on tblA.emp_no=tblB.emp_no

答案 3 :(得分:0)

select tableA.data, tableB.id from tableA, tableB