这个头衔可能措辞糟透了。我有一些PostgreSQL表。有一个桥表,也可以保存额外的数据,因此不是严格意义上的桥梁,但也是这样做的。它是这样的:
player_game
===========
player_game_id PK
player_id FK -> player
game_id FK -> game
other stuff.
我想编制一个包含我选择的两个玩家的所有这类game_ids的列表。
所以我可以找到例如玩家1234玩玩家9876的游戏。
游戏中可以有2到10名玩家。
答案 0 :(得分:2)
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
答案 1 :(得分:0)
您需要使用别名将表连接到自身。 (对于两个表)然后根据需要指定两个ID
select *
from player_game as A
inner join player_game as B on A.game_id = B.game_id
where A.player_id = '' and B.player_id = ''