1

そのタイトルは恐らくひどい言葉遣いです。PostgreSQLテーブルがいくつかあります。追加のデータも保持するブリッジテーブルがあるため、厳密にはブリッジではありませんが、そのように機能します。それは次のようになります:

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

選択した2人のプレーヤーを含むそのようなすべてのgame_idのリストをコンパイルしたいと思います。

たとえば、プレーヤー1234がプレーヤー9876で遊んだゲームを見つけることができました。

ゲームには2人から10人のプレイヤーが参加できます。

4

2 に答える 2

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
于 2012-07-04T12:46:59.443 に答える
0

エイリアスを使用してテーブルをそれ自体に結合する必要があります。(両方のテーブルに対して)次に、必要に応じて2つの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 = ''
于 2012-07-04T12:50:35.433 に答える