添加第二个INNER JOIN MySQL

时间:2014-11-17 00:29:16

标签: mysql inner-join

如何在SELECT查询中添加第二个INNER JOIN?

例如:

我有ENTRY的活动详情(event_id,athlete_id,地方)和PRIZE以及比赛详情(event_id,地点,金钱)。

这是我正在尝试运行的SQL:

SELECT ENTRY.event_id, ENTRY.athlete_id, PRIZE.place, PRIZE.money
FROM ENTRY
INNER JOIN PRIZE
    ON PRIZE.event_id=ENTRY.event_id
INNER JOIN ENTRY
    ON ENTRY.place=PRIZE.place
ORDER BY ENTRY.event_id, ENTRY.athlete_id;

1 个答案:

答案 0 :(得分:0)

因此,您可以按照第一次加入的方式进行连续加入。在您的示例中,一切都很好,除非您需要对表进行别名,以便数据库知道您的意思。

 SELECT E1.event_id, E1.athlete_id, P1.place, P1.money
      FROM ENTRY E1
      INNER JOIN PRIZE P1
          ON P1.event_id=E1.event_id
      INNER JOIN ENTRY E2
          ON E2.place=P1.place
      ORDER BY E1.event_id, E1.athlete_id;

这允许数据库区分第一个事件表(此处列为E1)和第二个事件表(此处列为E2)