2012-09-24 521 views
0

我對此查詢有問題。與查詢相關的MySQL查詢

SELECT id, zadane, firma, nazov, miesto, ukoncenie 
FROM praca 
WHERE LOWER(nazov) LIKE '%administratívny pracovník, referent%' 
AND potvrdena =1 
AND LOWER(miesto) LIKE '%bratislavský kraj%' 
OR LOWER(miesto) LIKE '%bratislava%' 
OR LOWER(miesto) LIKE '%malacky%' 
OR LOWER(miesto) LIKE '%pezinok%' 
OR LOWER(miesto) LIKE '%senec%' 
ORDER BY nazov 
LIMIT 0 , 30 

它應該只顯示喜歡的東西,記錄其LOWER(nazov),但它仍然顯示其含有LOWER(miesto)的東西應有盡有。 我不確定我是否正確解釋。爲我的英語而努力。

感謝

回答

3

您需要()包裹OR秒。

SELECT id, zadane, firma, nazov, miesto, ukoncenie 
FROM praca 
WHERE LOWER(nazov) LIKE '%administratívny pracovník, referent%' 
AND potvrdena =1 
AND ( 
    LOWER(miesto) LIKE '%bratislavský kraj%' 
    OR LOWER(miesto) LIKE '%bratislava%' 
    OR LOWER(miesto) LIKE '%malacky%' 
    OR LOWER(miesto) LIKE '%pezinok%' 
    OR LOWER(miesto) LIKE '%senec%' 
) 
ORDER BY nazov 
LIMIT 0 , 30 
0

試試這個:

SELECT id, zadane, firma, nazov, miesto, ukoncenie 
FROM praca 
WHERE LOWER(nazov) LIKE '%administratívny pracovník, referent%' 
AND potvrdena =1 
AND( 
    LOWER(miesto) LIKE '%bratislavský kraj%' 
OR LOWER(miesto) LIKE '%bratislava%' 
OR LOWER(miesto) LIKE '%malacky%' 
OR LOWER(miesto) LIKE '%pezinok%' 
OR LOWER(miesto) LIKE '%senec%' 
) 
ORDER BY nazov 
LIMIT 0 , 30