2つのテーブルがあります。1つはチェックリストの項目(checklist_id、content)を含み、もう1つはユーザーとチェックリストの項目番号(checklist_fk、user_fk)の関係を含みます。ユーザーがアイテムをチェックオフするたびに、ユーザー15がアイテム3を完了したことを示す行が挿入されます。
これを照会するとき、私は使用しています
SELECT content, user_fk, checklist_id, checklist_fk
if (checklist_fk is null, false, true) completed
FROM checklist
LEFT JOIN checklist_completion ON checklist_id = checklist_fk;
ただし、任意のユーザーが特定のチェックリスト項目を完了した場合、completedはtrueを返します。結合の前に2番目のテーブルWHEREuser_fk= XXをフィルタリングする必要がありますが、どうすればよいですか?HAVING user_fk = XXを使用することになっていると思いますが、構文エラーが発生します。