繁体   English   中英

从不同的表引用同一列/表上的2行

[英]Reference 2 rows on same column/table, from a different table

我正在为Xbox上的虚拟曲棍球联盟制作一个统计跟踪网页。 我有基本的表格布局设置,但是我在如何创建允许我显示时间表的查询方面苦苦挣扎。 下面是我的基本表格布局,我想做的是显示如下内容:

游戏一
纽约vs芝加哥
底特律vs波士顿

游戏2:
波士顿vs纽约
芝加哥vs底特律

SELECT homeTeam.name AS HOME_TEAMNAME
FROM GameSchedule Sched

INNER JOIN GameStats GameStatsHome
ON Sched.ID = GameStatsHome.gameSchedule_ID
AND Sched.homeTeam_ID = GameStatsHome.team_ID

INNER JOIN Team homeTeam
ON homeTeam.ID = gameStatsHome.team_ID

我意识到我遇到问题的地方是试图同时为GameSchedule.awayTeam_ID和GameSchedule.homeTeam_ID提取Team.name。 但是我还无法弄清楚该怎么做。 我觉得我已经接近了。但是再说一遍,我不知道自己在做什么,并且花了大约三天的时间来弄清楚这个查询。 我认为,如果有人可以向我指出正确的方向,那么我对我所需要的其他一切都会有所帮助...任何帮助将不胜感激。

Table: Team
-----------------------------------------------------------
| ID | name       | abbreviation | conference | division |
-----------------------------------------------------------
|  1  | New York  |      TMA     |      1     |     1    |
|  2  | Chicago   |      TMB     |      1     |     1    |
|  3  | Detroit   |      TMC     |      1     |     1    |
|  4  | Boston    |      TMD     |      1     |     1    |
-----------------------------------------------------------

Table: GameSchedule
------------------------------------------------
| ID | awayTeam_ID | homeTeam_ID | gameTime_ID |
------------------------------------------------
| 1  |     1       |      2      |      1      |
| 2  |     3       |      4      |      1      |
| 3  |     4       |      1      |      2      |
| 4  |     2       |      3      |      2      |
------------------------------------------------

Table: GameStats
------------------------------------------
| ID | gameSchedule_ID | team_ID | goals |
------------------------------------------
| 1  |        1        |    1    |   5   |
| 2  |        1        |    2    |   3   |
| 3  |        2        |    3    |   6   |
| 4  |        2        |    4    |   1   |
| 5  |        3        |    1    |   2   |
| 6  |        3        |    4    |   5   |
------------------------------------------

这将为您提供两个名字

SELECT
    away.Name as AwayTeam,
    home.Name as HomeTeam
FROM
    Game_Schedule gs
    JOIN Team away ON t.ID = gs.AwayTeam_ID
    JOIN Team home ON t.ID = gs.HomeTeam_ID

您可以在这些联接中做任何您想做的事!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM