这个标题大概用词不当。我有一些PostgreSQL表。有一个桥表,它还保存额外的数据,所以严格来说不是桥,但也会这样做。事情是这样的:

player_game
===========
player_game_id PK
player_id FK -> player
game_id FK -> game
other stuff.

我想编译一个包含我选择的两个玩家的所有此类游戏id的列表。
例如,我可以找到1234玩家和9876玩家玩的游戏。
一个游戏可以有2到10个玩家。

最佳答案

select pg1.game_id from player_game pg1
inner join player_game pg2 on pg1.game_id = pg2.game_id
where pg1.player_id = 1234
and pg2.player_id = 9876
group by pg1.game_id -- or : AND  pg1.player_game_id < pg2.player_game_id

关于sql - SQL从桥表中获取包含两行的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11329324/

10-13 07:24