如何在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;
答案 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)