2013-10-25 21 views
1

我有4個包含「ID」的表和1個包含「ID」&「TEAM」的表。前四個表中的所有「ID」也存儲在第五個表中,並附有「TEAM」名稱。這些表格包含比ID更多的數據,但不相關。mysql中多個表的區別值

我想從4個表中選擇「ID」。其中「TEAM」是我選擇的一個。我希望它們都在同一個數組中用於在mysql_fetch_array中輸出行。

我已經嘗試了很多東西,但無法解決如何獲得正確的輸出。我需要一個不同的輸出,所以倍數不能寫出來。感謝所有幫助!

TABLE1 

ID : 50454 
ID : 50454 
ID : 50454 
ID : 30545 


TABLE2 

ID : 20876 
ID : 10678 
ID : 10678 
ID : 10678 


TABLE3 

ID : 60321 
ID : 9


TABLE4 

ID : 32505 
ID : 32505 
ID : 32505 
ID : 32151 


TABLE5 

ID : 32505  TEAM : ALFA 
ID : 32151  TEAM : ALFA 
ID : 9TEAM : ALFA 
ID : 60321  TEAM : ALFA 
ID : 50454  TEAM : BETA 
ID : 30545  TEAM : BETA 
ID : 20876  TEAM : BETA 
ID : 10678  TEAM : BETA 

回答

1

例如,如果你需要的所有標識的形式ALFA團隊:

select DISTINCT ID 

FROM 
(
select Id from Table1 JOIN Table5 on Table1.ID=Table5.Id WHERE Table5.Team='ALFA' 
union all 
select Id from Table2 JOIN Table5 on Table2.ID=Table5.Id WHERE Table5.Team='ALFA' 
union all 
select Id from Table3 JOIN Table5 on Table3.ID=Table5.Id WHERE Table5.Team='ALFA' 
union all 
select Id from Table4 JOIN Table5 on Table4.ID=Table5.Id WHERE Table5.Team='ALFA' 
) T1 
+0

謝謝,現在就開始工作吧! :) – PeterP

0

您可以獲取所有行並將結果存儲到一個數組,然後使用

array_unique()

函數來得到不同的結果

+0

是的,但我需要輸出受TABLE5中「TEAM」的影響。現在,它只是搞砸了。 @ M2sh – PeterP

+0

@PeterP哦,是的,你的最後一張桌子上有另外一個叫Team的專欄?我認爲您可以在沒有任何其他列(如Team)的情況下獲取所有行,然後從Table5中選擇唯一ID的團隊數據。 – M2sh