次のテーブルがあります (無関係な列は除外されています)。
games:
id
1
2
3
4
bets:
id | user_id | game_id
1 | 2 | 2
2 | 1 | 3
3 | 1 | 4
4 | 2 | 4
users:
id
1
2
「ユーザー」が「賭ける」ことができる「ゲーム」があります。すべてのユーザーは、1 つのゲームに最大 1 回賭けることができますが、ユーザーが賭けていないゲームもあります (たとえば、ユーザー 1 はゲーム 1 または 2 に賭けていません)。
ここで、1 人のユーザー (ID 1 のユーザーとしましょう) のすべてのゲームと、このゲームに対する彼の賭け (たまたまそのゲームに賭けた場合) を表示したいと考えています。
上記の例では、次のことを意味します。
desired results:
game.id | bet.id
1 | null
2 | null
3 | 2
4 | 3
要約する:
ゲームがあります
- まったく賭けていない (ゲーム 1)
- 今は気にしないユーザーによる賭けがあります (ゲーム 2)
気になるユーザーによる賭けがあり、かつ
- 他のユーザーからの賭けがない (ゲーム 3)
- 他のユーザーからの賭けもあります (ゲーム 4)
私は良い解決策を考え出すために午後全体を費やしましたが、私はそうしませんでした。
サブクエリは、私が使用しようとしている環境では実際にはサポートされていないため、可能であれば使用しないでください。
ありがとう!