使用LIKE检索行并传递一些id。

时间:2017-05-22 19:23:09

标签: php mysql sql

我想检索一行包含关键字" off"和sc_id必须等于" 2"。我正在尝试跟踪查询,但它给了我带有关键字" Off"的行。并且还给出了所有sc_id。怎么解决这个问题。 id搜索是必须的部分。

查询

SELECT c.* , sc.* , sm.* ,ca.* 
from store_category sc 
INNER JOIN store_manufacture sm 
   ON sm.sm_id=sc.store_id 
INNER JOIN categories ca 
   ON ca.cat_id=sc.cat_id 
INNER JOIN coupons c 
   on c.c_sc_id=sc.sc_id 
WHERE sc.sc_id=2 
  AND c.c_name LIKE '%off%' 
   OR sm.sm_brand_name LIKE '%off%' 
   OR ca.cat_name LIKE '%off%' 
   OR c.c_description LIKE '%off%'

1 个答案:

答案 0 :(得分:1)

你需要在条件中使用括号,试试这个:

SELECT c.* , sc.* , sm.* ,ca.* 
from store_category sc 
INNER JOIN store_manufacture sm 
ON sm.sm_id=sc.store_id 
INNER JOIN categories ca 
ON ca.cat_id=sc.cat_id 
INNER JOIN coupons c 
ON c.c_sc_id=sc.sc_id 
WHERE sc.sc_id=2 
AND (c.c_name LIKE '%off%' 
OR sm.sm_brand_name LIKE '%off%' 
OR ca.cat_name LIKE '%off%' 
OR c.c_description LIKE '%off%');