2012-09-24 278 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