这是我的疑问:
SELECT *
FROM `messages` m
JOIN questions q ON m.question_response = q.question_id
WHERE m.message_id = '$message_id'
问题是并不总是需要JOIN,只有m.question_response
的值不是0
时才需要。有没有办法在这种条件下进行JOIN而不需要求助于第二次查询?
答案 0 :(得分:1)
我相信你可以加入多个条件,并允许它们是静态的。
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'
答案 1 :(得分:0)
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)