mysql中多个表的不同值

时间:2013-10-25 07:04:43

标签: php mysql sql union

我有4个表,其中包含“ID”和1个表,其中包含“ID”和& “球队”。前四个表中的所有“ID”也存储在第五个表中,并附有“TEAM”名称。这些表包含的数据多于id,但不相关。

我想从4个表中选择“ID”WHERE“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 : 90123


TABLE4

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


TABLE5

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

2 个答案:

答案 0 :(得分:1)

例如,如果您需要ALPHA团队的所有ID:

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

答案 1 :(得分:0)

您可以获取所有行并将结果存储到数组中,然后使用

array_unique()

获得不同结果的功能