编写一个结合了AND,OR而没有任何干扰的查询的最佳方法是什么 例如
sql= " select * from table where category=5 AND itme_name LIKE %$x% OR item_detail LIKE %x% " ;
我想要的是像
category=5 AND ( itme_name LIKE %$x% OR item_detail LIKE %$x% )
ican通过使用2个查询来做到这一点 或类似的东西
select * from table where category=5 AND category IN(
select category from table where itme_name LIKE %$x% OR item_detail LIKE %x% )
但我想知道如果没有那个内部查询我能做到这一点我不知道可能在第二部分使用括号吗?
答案 0 :(得分:1)
使用括号更改precedence(没有括号并且优先级高于OR):
category=5 AND (itme_name LIKE '%$x%' OR item_detail LIKE '%$x%')
注意:
itme_name
很可能拼写错误。它应该是item_name
。您可能还需要修复表定义以及使用拼写错误的所有其他查询。