これが私の質問です:
SELECT *
FROM `messages` m
JOIN questions q ON m.question_response = q.question_id
WHERE m.message_id = '$message_id'
m.question_response
問題は、JOINが常に必要なわけではなく、の値が必要でない場合にのみ必要になることです0
。2番目のクエリに頼らずにその条件でJOINを実行する方法はありますか?
複数の条件で参加できると思いますが、それらは静的であってもかまいません。
SELECT *
FROM `messages` m
JOIN questions q
ON m.question_response = q.question_id
AND m.question_response <> 0
WHERE m.message_id = '$message_id'
SELECT m.*
FROM `messages` m,`questions` q
WHERE m.message_id = '$message_id'
AND m.question_response = 0
OR (m.question_response <> 0 AND m.question_response = q.question_id)