这是我的查询:
SELECT *
FROM `messages` m
JOIN questions q ON m.question_response = q.question_id
WHERE m.message_id = '$message_id'
问题是 JOIN 并不总是需要,只有在m.question_response
is not的值时才需要0
。有没有办法在这种情况下进行 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)