Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Join从左表和右表返回空行_Sql_Mysql_Join - Fatal编程技术网

SQL Join从左表和右表返回空行

SQL Join从左表和右表返回空行,sql,mysql,join,Sql,Mysql,Join,可能重复: 真正简单的问题,却完全把自己搞糊涂了 假设我有以下表格: tbl1 id-计数1 a-7 b-4 d-2 tbl2 id-计数2 a-3 c-4 我想创建一个表,给出以下结果: tbl_温度 id-count1-count2 a-7-3 b-4-null c-null-4 d-2-null 我需要使用什么类型的联接 干杯 Ben理想情况下,您可能希望使用完整的外部联接,但事实并非如此。相反,您可以使用左侧和右侧外部联接(或另一个表反转的左侧联接)来模拟它,并合并所有结果 SELEC

可能重复:

真正简单的问题,却完全把自己搞糊涂了

假设我有以下表格:

tbl1 id-计数1
a-7
b-4
d-2

tbl2 id-计数2
a-3
c-4

我想创建一个表,给出以下结果:

tbl_温度 id-count1-count2
a-7-3
b-4-null
c-null-4
d-2-null

我需要使用什么类型的联接

干杯


Ben

理想情况下,您可能希望使用完整的外部联接,但事实并非如此。相反,您可以使用左侧和右侧外部联接(或另一个表反转的左侧联接)来模拟它,并合并所有结果

SELECT
    tbl1.id,
    tbl1.count1,
    tbl2.count2
FROM tbl1
LEFT JOIN tbl2
ON tbl1.id = tbl2.id

UNION ALL

SELECT
    tbl2.id,
    tbl1.count1,
    tbl2.count2
FROM tbl2
LEFT JOIN tbl1
ON tbl1.id = tbl2.id
WHERE tbl1.id IS NULL

ORDER BY id
结果:

id count1 count2 a 7 3 b 4 NULL c NULL 4 d 2 NULL id count1 count2 a 7 3 b 4空 c空4 d 2空 在这里寻找不同的解决方案。