-3

我有 2 张桌子:AB. 我想要一个查询,如果两个表中的任何一个都满足任何值,它将返回结果。我尝试使用连接,但是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

4 回答 4

1

在接受空值的表上使用左连接

于 2012-07-10T05:44:00.233 回答
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)
于 2012-07-10T05:45:40.443 回答
0

正如您所说,反之亦然,最好在您的情况下使用外部联接

 Select tblA.data,tblB.id from tableA tblA FULL OUTER JOIN tableB tblB on tblA.emp_no=tblB.emp_no
于 2012-07-10T05:48:04.467 回答
0
select tableA.data, tableB.id from tableA, tableB
于 2012-07-10T05:55:45.340 回答