2017-03-03 60 views
0

我在我的數據庫中有2個不同的表。要從2個不同的表中顯示的數據

例如;在表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

兩個表之間是否有任何關係? – Naincy

+0

如果兩個表格之間沒有關係,爲什麼要在結合表格中顯示結果。如果您的要求如此說明,那麼您可以將所有數據存儲在同一個表中。 – Pramod

+0

如果我是你,我會在前端製作桌子。查詢表A,查詢表B.獲取兩個結果數組。循環第一個(最後一列爲空),循環第二個(第一列爲空) –

回答

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 

試試看上面的代碼。 希望這會有所幫助。

0

你能夠做到這與 '假' 外連接:

select a.id, a.date, b.id, b.name 
from table1 a 
full outer join 
     table2 b 
on  1 = 0; 
相關問題