要从2个不同的表

时间:2017-03-03 10:34:17

标签: mysql

我的数据库中有两个不同的表。

例如;在表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,它也结合了结果。

我做错了什么?请帮帮我。

感谢阅读。

2 个答案:

答案 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;