加入两个共享多对一关系的 SQL 表
Joining Two SQL Tables That share a many to one Realtionship
嗨,我有两个 table,一个叫 Team,另一个叫 Schedule。
Schedule table 具有以下属性:id
、away
、home
、date
...其中 away 和 home 是外键到团队 table。
团队 table 具有以下属性:name
和 id
。
我的目标是加入 Team 和 Schedule,以便 schedule.id、away、awayTeamName、home、homeTeamName、date 都在同一个查询中。这是我目前所拥有的
SELECT `GAME_ID` , `AWAY` , TEAM.NAME AS awayName, `HOME`, `LEVEL` ,
`LOCATION` , `DATE`
FROM SCHEDULE
INNER JOIN TEAM ON SCHEDULE.AWAY = TEAM.TEAM_ID
OR SCHEDULE.HOME = TEAM.TEAM_ID
我得到的输出是这样的
GAME_ID | AWAY | awayName | HOME | LEVEL | LOCATION | DATE
1 | 2 | name1 | 3 |varsity| @home | 06/22/2015
但我希望它看起来像这样
GAME_ID | AWAY | awayName | HOME | homeName| LEVEL | LOCATION | DATE
1 | 2 | name2 | 3 | name3 |varsity| @home | 06/22/2015
如果有人能提供帮助,我将不胜感激
您可以有多个加入。
SELECT SCHEDULE.GAME_ID , away.AWAY, away.NAME AS awayName, home.HOME , home.NAME AS homeName, LEVEL ,
LOCATION , DATE
FROM SCHEDULE
INNER JOIN TEAM as away ON SCHEDULE.AWAY = TEAM.TEAM_ID INNER JOIN TEAM as home ON
SCHEDULE.HOME = TEAM.TEAM_ID
会是这样的。
INNER JOIN TEAM as home ON SCHEDULE.HOME = TEAM.TEAM_ID
将此添加到查询的末尾,这将为您提供两个完全合法的内部联接。
以后只要您有两个以上的表要处理,您就会发现它很有用。
inner joins on more than 2 table
嗨,我有两个 table,一个叫 Team,另一个叫 Schedule。
Schedule table 具有以下属性:id
、away
、home
、date
...其中 away 和 home 是外键到团队 table。
团队 table 具有以下属性:name
和 id
。
我的目标是加入 Team 和 Schedule,以便 schedule.id、away、awayTeamName、home、homeTeamName、date 都在同一个查询中。这是我目前所拥有的
SELECT `GAME_ID` , `AWAY` , TEAM.NAME AS awayName, `HOME`, `LEVEL` ,
`LOCATION` , `DATE`
FROM SCHEDULE
INNER JOIN TEAM ON SCHEDULE.AWAY = TEAM.TEAM_ID
OR SCHEDULE.HOME = TEAM.TEAM_ID
我得到的输出是这样的
GAME_ID | AWAY | awayName | HOME | LEVEL | LOCATION | DATE
1 | 2 | name1 | 3 |varsity| @home | 06/22/2015
但我希望它看起来像这样
GAME_ID | AWAY | awayName | HOME | homeName| LEVEL | LOCATION | DATE
1 | 2 | name2 | 3 | name3 |varsity| @home | 06/22/2015
如果有人能提供帮助,我将不胜感激
您可以有多个加入。
SELECT SCHEDULE.GAME_ID , away.AWAY, away.NAME AS awayName, home.HOME , home.NAME AS homeName, LEVEL ,
LOCATION , DATE
FROM SCHEDULE
INNER JOIN TEAM as away ON SCHEDULE.AWAY = TEAM.TEAM_ID INNER JOIN TEAM as home ON
SCHEDULE.HOME = TEAM.TEAM_ID
会是这样的。
INNER JOIN TEAM as home ON SCHEDULE.HOME = TEAM.TEAM_ID
将此添加到查询的末尾,这将为您提供两个完全合法的内部联接。
以后只要您有两个以上的表要处理,您就会发现它很有用。
inner joins on more than 2 table