我有2个表:A
和B
。我想要一个查询,如果在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' ;
答案 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