PHPとMySQLを使用してカスタムフォーラムを作成しました。2つのテーブルがあります。1つはスレッド用で、もう1つはスレッド内のメッセージ用です。
管理者がベストアンサーとしてメッセージを選択できる機能を実装しています。メッセージテーブルには、best_answerのBOOL列があります。
スレッドを一覧表示するページで、スレッドにベストアンサーが選択されているかどうかを示したいと思います。
すべてのスレッドを選択するだけでなく、スレッドのメッセージを調べて、ベストアンサーが選択されているかどうかを確認するクエリを作成することは可能ですか?
私は次のようなことを試みていました:
SELECT *
FROM `threads`
JOIN `messages` ON `threads`.`id` = `messages`.`thread_id`
WHERE `messages`.`best_answer` = 1
ただし、これはベストアンサーのスレッドのみをプルするため、すべてのスレッドをプルして列を作成する必要があるため、ベストアンサーがあるかどうかを確認できます。
スレッドテーブルに列を追加して、ベストアンサーが選択されているかどうかをマークする方がよいでしょうか。