【发布时间】:2019-08-11 17:01:04
【问题描述】:
我有以下 SQL 表,我基本上是在尝试提取 Ralph 2018 年参加的每场比赛的表格,以及得分的数量。
Ralph 有一个 unique_id,但可以在多个团队或不同位置上打球。他打球的每一年都有一个新记录输入到每个球队和/或位置的球员信息表中。
游戏数据表的玩家 ID 可能同时使用了 Ralph 的两条玩家信息记录,例如,游戏数据的记录 1 和 2 都是 Ralph 的,他的实际总得分为 18 (12 + 6)。我不需要将这些点加在一起,因为这可以在 PHP 中更轻松地完成,但我确实需要提取两条记录。
------------------------------
Player Info as pi
------------------------------
id | unique_id | year | name | team | pos
1 5000 2018 Ralph 5 F
2 5000 2018 Ralph 5 C
3 5600 2018 Bill 5 G
4 5000 2017 Ralph 4 F
5 2688 2016 Mike 6 G
------------------------------
Game Info as gi
------------------------------
id | team 1 | team 2
1 5 6
2 6 5
3 8 3
4 6 2
------------------------------
Game Data as gd
------------------------------
id | game_info_id | player_id | Points
1 1 1 12
2 1 2 6
3 2 1 4
4 4 5 6
表格应显示 pi.id、pi.unique_id、gi.id、gd。* 其中 gd.player_id = Ralph 的任何 pi.id 的 AND pi.year=2018
感谢您的帮助,这似乎有点超出我的控制范围。
【问题讨论】:
-
请标记适当的数据库名称、您目前编写的查询和预期输出。
标签: sql join multiple-tables