Mysql查询无法使用和oprator工作

时间:2015-09-09 13:16:08

标签: and-operator

使用以下mysql查询时:

select * from gc_product_attribute where (attribute_id = 30 AND text like '62') and (attribute_id = 35 AND text like '71')

表中存在值,但没有任何内容返回
下表

attribute_id | text
 30          |  62
 35          |  71

3 个答案:

答案 0 :(得分:0)

我猜你正在寻找这个

(attribute_id = 30 AND text like'62') OR (attribute_id = 35 AND text like'71')

肯定没有带有attribute_id的行30和35。

答案 1 :(得分:0)

请尝试:

select * 
from gc_product_attribute 
where attribute_id=30 
AND text like '%62%' 
OR (attribute_id = 35 AND text like '%71%') 

答案 2 :(得分:0)

您想要返回包含(attribute_id = 30和文字,如' 62')项目的项目(attribute_id = 35 AND text like' 71'。)

这与检索具有(attribute_id = 30并且文字类似于' 62')且具有(attribute_id = 35 AND文字,如' 71&# 39)

可以用两种方式表达:

  • 检索满足X的项目以及满足Y的项目: UNION

    select * from gc_product_attribute where (attribute_id = 30 AND text like '62') UNION select * from gc_product_attribute where (attribute_id = 35 AND text like '71')

  • 检索满足X或Y的项目: OR

    select * from gc_product_attribute where (attribute_id = 30 AND text like '62') OR (attribute_id = 35 AND text like '71')