みなさん、こんにちは。
私は本当にあなたの助けが必要です。すべてのユーザーのリスト (個別) を取得する必要があります。
お気に入りのチームは、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 ) )
このクエリの解決に成功した人がいる場合は、何が間違っているのかについての簡単な説明もいただければ幸いです。
ありがとう。