2013-04-25 112 views
0

我想要在mySQL中加入兩個不同的結果集以顯示在旁邊。例如可以說我有一個結果集#1如下 -如何在MySQL中連接兩個結果集?

NAME PHONE 
ABC  123 
DEF  456 
GHI  789 

結果集#2 -

MAIL ID  WEBSITE 
[email protected] WWW.JKL.COM 
[email protected] WWW.MNO.COM 
[email protected] WWW.PQR.COM 

現在,我要的是被並排顯示在一個單一的這兩個結果結果集沒有任何關係。

NAME PHONE MAIL ID  WEBSITE 
ABC  123  [email protected] WWW.JKL.COM 
DEF  456  [email protected] WWW.MNO.COM 
GHI  789  [email protected] WWW.PQR.COM 

我應該怎麼做?

+5

你怎麼知道'ABC'擁有電子郵件'[email protected]'? – 2013-04-25 13:24:55

+0

必須使用外鍵連接表。 「 – Aris 2013-04-25 13:26:32

+2

」*沒有任何關係*「?但是「加入」意味着一種關係。或者你只是想設計輸出格式(在這種情況下,這根本不是一個MySQL問題,而是一種用於訪問MySQL的語言)? – eggyal 2013-04-25 13:31:20

回答

2

您需要在沒有ID的兩個表之間進行連接。那麼,你不能這樣做。 SQL中的表沒有排序,所以你需要一個鍵來鏈接它們。

你可以做點什麼。而且,如果你幸運的話,它會奏效。下面添加行號,以每個表中,然後加入上:

select t1.name, t1.phone, t2.mail, t2.website 
from (select t1.*, @r1 as r1, @r1 := @r1 + 1 
     from t1 cross join (select @r1 := 0) 
    ) r1 join 
    (select t2.*, @r2 as r2, @r1 := @r2 + 1 
     from t2 cross join (select @r2 := 0) 
    ) r2 
    on t1.r1 = t2.r2 

我必須強調,這是保證工作。你真的需要在表格之間有一個正確的連接鍵。但是,它可能工作。