加入玩家和游戏桌以获得玩家积分
Joining player and game tables to get player points
我有以下 SQL tables,我基本上是想拉出拉尔夫在 2018 年参加的每场比赛的 table,以及得分的数量.
拉尔夫有 unique_id,但他可能会在多支球队打球,或者担任不同的位置。他参加比赛的每一年都会在球员信息 table 中为每个球队 and/or 的位置创造一个新记录。
游戏数据table的玩家ID可能会用到拉尔夫的两条玩家信息记录,比如游戏数据记录1和2都是拉尔夫的,他的实际总得分是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
table 应显示 pi.id、pi.unique_id、gi.id、gd.* WHERE gd.player_id = Ralph 的任何 pi.id' s 和 pi.year=2018
感谢任何帮助,这似乎有点超出我的驾驶室。
像这样加入表格:
select
pi.id, pi.unique_id, gi.id, gd.*
from playerinfo pi
inner join gameinfo gi on pi.team in (gi.team1, gi.team2)
inner join gamedata gd on gd.game_info_id = gi.id and gd.player_id = pi.id
where pi.name = 'Ralph' and pi.year = 2018
我有以下 SQL tables,我基本上是想拉出拉尔夫在 2018 年参加的每场比赛的 table,以及得分的数量.
拉尔夫有 unique_id,但他可能会在多支球队打球,或者担任不同的位置。他参加比赛的每一年都会在球员信息 table 中为每个球队 and/or 的位置创造一个新记录。
游戏数据table的玩家ID可能会用到拉尔夫的两条玩家信息记录,比如游戏数据记录1和2都是拉尔夫的,他的实际总得分是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
table 应显示 pi.id、pi.unique_id、gi.id、gd.* WHERE gd.player_id = Ralph 的任何 pi.id' s 和 pi.year=2018
感谢任何帮助,这似乎有点超出我的驾驶室。
像这样加入表格:
select
pi.id, pi.unique_id, gi.id, gd.*
from playerinfo pi
inner join gameinfo gi on pi.team in (gi.team1, gi.team2)
inner join gamedata gd on gd.game_info_id = gi.id and gd.player_id = pi.id
where pi.name = 'Ralph' and pi.year = 2018