考虑下表,只返回团队成员及其相关玩家的最佳方式是什么,但每个团队只有一名玩家?需要注意的重要部分是选择需要基于一组给定的玩家ID。这是起点。
使用下面的示例我将拥有播放器ID:1,2,3(以及其他)以及我最终需要的是用户ID列表中的唯一成员资格(在这种情况下为1,2,3) )。我想最终得到id为1&的team_memberships。 2
谢谢!
player
id | name
1 | bob
2 | joe
3 | tom
team_memberships
id | team_id | player_id
1 | 1 | 1
2 | 2 | 2
3 | 1 | 3
team
id | name
1 | jets
2 | kings
答案 0 :(得分:1)
你的意思是
Select team_id, Min(player_id)
From team_Memberships
Where player_id In (1,2,3)
Group By team_id
如果选择的玩家需要基于玩家表中的其他属性,那么:
Select team_id,
(Select Min(player_id) -- in case more than one player satisfies criterion
From players
where playerId = m.Player_Id
And [Some other ctiterion]) playerId
From team_Memberships m
Where player_id In (1,2,3)
Group By team_id