NULL cannot be equal to anything
。
不足しているのは、NULLを等しくすることはできないということです。 、どちらか
。
NULL
何と比較しても常にNULL
。手元にある問題は、LEFT JOIN
を取得したことです。 違う。これは機能するはずです:
SELECT v.user_id, v.version_id, vv.user_id
FROM versions v
LEFT JOIN versions_votes vv ON v.version_id = vv.version_id
AND vv.user_id = 39
WHERE vv.version_id IS NULL
ORDER BY v.created
LIMIT 1;
vv
を参照する追加の条件がありました WHERE
句:AND vv.user_id != 39
。おそらくNULL != 39
を期待しています 資格がありますが、そうではありません。この関連する回答の詳細:
左結合を使用したクエリがカウント0の行を返さない
基本的に3つのテクニックがあります これを行うには:
他のテーブルに存在しない行を選択