真正简单的问题,但完全混淆了自己.
说我有以下表格:
id - count1
a - 7
b - 4
d - 2
id - count2
a - 3
c - 4
我想创建一个表,给出以下结果:
id - count1 - count2
a - 7 - 3
b - 4 - null
c - null - 4
d - 2 - null
我需要使用什么类型的联接?
干杯,
本
理想情况下,您可能希望使用FULL OUTER JOIN,但MySQL不支持它.相反,您可以使用LEFT和RIGHT OUTER JOIN(或其他LEFT,表格颠倒)和UNION ALL结果来模拟它.
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
Run Code Online (Sandbox Code Playgroud)
结果:
id count1 count2 a 7 3 b 4 NULL c NULL 4 d 2 NULL
| 归档时间: |
|
| 查看次数: |
3585 次 |
| 最近记录: |