みなさん、こんにちは。
私は本当にあなたの助けが必要です。すべてのユーザーのリスト (個別) を取得する必要があります。
お気に入りのチームは、info_matches.team_id1 または info_matches.team_id2 またはその両方です。
関連するテーブルの小さなデザインを次に示します。

私が試したことは、80% で動作します (したがって、そうではありません:( ) 一部のユーザーは正しく返されます (彼らは 3 つ以上のゴール差でお気に入りのチームを返します) が、お気に入りのチームを持たないユーザーも返します。どちらかのチームが 3 点以上の差で勝った試合のライブ チェックインを行ったため、返されたと思います。
これが私のクエリです:
個別選択
f.id
から
ファンユーザー f
左結合
checkins c ON f.id = c.fanuser_id
左結合
info_matches m ON m.id = c.match_id
どこ
c.ctype = 'ライブ' AND
(
m.team_id1 IN(
個別選択
m1.team_id1
から
info_matches m1
右結合
fanusers_teams ft ON m1.team_id1 = ft.team_id
右結合
fanusers f ON f.id = ft.fanuser_id
どこ
m1.pointsteam1 - m1.pointsteam2 >= 3
)
また
m.team_id2 IN(
個別選択
m2.team_id2
から
info_matches m2
右結合
fanusers_teams ft ON m2.team_id2 = ft.team_id
右結合
fanusers f ON f.id = ft.fanuser_id
どこ
m2.pointsteam2 - m2.pointsteam1 >= 3
)
)
このクエリの解決に成功した人がいる場合は、何が間違っているのかについての簡単な説明もいただければ幸いです。
ありがとう。