2013-03-23 76 views
0

我已經試過此查詢以下查詢有什麼錯誤?

SELECT * 
FROM `references` 
WHERE 
(`continent_id` IN (2,8) AND `country_id`IN (18)) 
    OR `continent_id` IN (2,8) 
LIMIT 0 , 30 

這裏就是我想要做的是選擇具有兩個都國家&大陸ID或僅大陸ID這些記錄,但上面的查詢總是導致與大陸記錄ID只有IE(OR continent_id IN(2,8)是始終

任何想法,在此查詢的問題呢?

在此先感謝!

+2

你有**其中(A和B)或** 這是一樣的**,其中A ** 究竟是你想做些什麼 - 請舉個例子。 – DavidC 2013-03-23 13:54:16

+0

您可以顯示示例數據和查詢的結果輸出嗎? – 2013-03-23 13:54:28

+0

@DavidC我認爲你是對的,任何想法如何避免在第二種情況下傳遞continent_id,即'OR' – sandip 2013-03-23 13:58:39

回答

0

如果你的第一個條件是好的,那麼第二個肯定是正確的,這是錯誤的。然後它是OR,所以只有第二個條件起作用。

0

試試這個:

SELECT * FROM `references` WHERE `continent_id` IN (2,8) OR `country_id`IN (18)