我的数据库中有两个不同的表。
例如;在表1中,名为table1
,它具有以下数据:
||===============================||
|| ID | DATE ||
===================================
|| 1 | 2nd Jan ||
===================================
|| 2 | 4th Apr ||
===================================
在表2中,名为table2
,它有以下数据:
||===============================||
|| ID | NAME ||
===================================
|| 1 | John ||
===================================
|| 2 | Pam ||
===================================
现在,这两个表的(ID)不是相同的。
我想要展示的是:
||===============================||===============================||
|| ID | NAME || ID | DATE ||
====================================================================
|| 1 | John || NULL | NULL ||
====================================================================
|| 2 | Pam || NULL | NULL ||
====================================================================
|| NULL | NULL || 1 | 2nd Jan ||
====================================================================
|| NULL | NULL || 2 | 4th Apr ||
====================================================================
所以我尝试了这些mySQL语句:
select a.id, a.date, b.id, b.name from table1 a, table2 b
但这并没有给我正确的显示,它结合了结果。
我也试过left join
,它也结合了结果。
我做错了什么?请帮帮我。
感谢阅读。
答案 0 :(得分:1)
select a.id, a.date, NULL id, NULL name from table1 a
UNION ALL
select NULL id, NULL date, b.id, b.name from table2 b
试试上面的代码。 希望这会有所帮助。
答案 1 :(得分:0)
你可以通过假冒'来实现这一目标。外连接:
select a.id, a.date, b.id, b.name
from table1 a
full outer join
table2 b
on 1 = 0;