2012-10-08 121 views
1

這裏是我的查詢:有沒有辦法做到這一條件JOIN沒有第二個查詢?

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,而不訴諸第二個查詢?

回答

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' 
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) 
相關問題