Php 检索具有LIKE且传递了某些id的行。
我想检索关键字为“off”且sc_id必须等于“2”的行。我正在尝试下面的查询,但它会给我带关键字“Off”的行,并给出所有的sc_id。如何解决这个问题。id搜索是必须的部分 查询Php 检索具有LIKE且传递了某些id的行。,php,mysql,sql,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
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%'
您需要在条件中使用括号,请尝试以下操作:
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%');
我标记为重复,但现在我想知道您的问题是否是因为您使用了
或
,因此如果任何一个关闭
,您可以在其他字段中使用关闭
或任何值。我的问题完全不同。它应该提供我的关键字使用“关”加上sc_id是必须的。我正在接收带有off关键字的所有行,但我的查询没有考虑sc_id字段组或s(c.c_名称如“%off%”,或sm.sm_品牌名称如“%off%”,或ca.cat_名称如“%off%”,或c.c_描述如“%off%”)
正如您所说的其中sc.sc_id=2和c.c_名称如“%off%”
或sm.sm_品牌名称如“%off%”或ca.cat_名称如“%off%”或c.c_描述如“%off%”显示示例数据和当前/预期输出。