私はこのようなSQLクエリを使用して、必要な結果を取得します。
SELECT
*
FROM
pictures p
WHERE
p.id NOT IN
(
SELECT
picture_id
FROM
guesses g
WHERE
g.user_id = XXX
)
AND
p.user_id != XXX
;
関係は次のとおりです。ユーザーには多くの写真があり、写真は1人のユーザーに属しています。ユーザーには多くの推測があり、推測は1つの画像に属します。トリッキーな部分は、ユーザーが同じ画像に対して1つの推測しか許可されていないことです。
XXX = $ user_id
左結合を使用してこの副選択を書き直す方法があると思いますが、機能させることができません。
誰か助けてもらえますか?
アンジャ