在mysql中组合2个表

时间:2014-09-01 00:49:52

标签: php mysql

表:团队

id | name
---------
1  | team a
2  | team b
3  | team c

表:事件

家庭&离开是团队的外键

id | home | away
----------------
1  |  2   |  3
2  |  1   |  2
3  |  3   |  1

我想要的是什么:

id | home   | away
------------------
 1 | team b | team c
 2 | team a | team b
 3 | team c | team a

任何人都可以教我如何根据这2个表的结构编写查询以获取最新的表。感谢。

1 个答案:

答案 0 :(得分:0)

您需要加入两次:

select e.id, th.name as home, ta.name as away
from event e join
     team th
     on e.home = th.id join
     team ta
     on e.away = ta.id;

请注意team子句中的from的两个实例具有不同的表别名。这使得在引用列时可以区分这些引用。