使用以下 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
使用以下 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
我猜你正在寻找这个
(attribute_id = 30 AND text like ‘62') OR (attribute_id = 35 AND text like ‘71’)
肯定没有属性 ID 为 30 和 35 的行。
请试试:
select *
from gc_product_attribute
where attribute_id=30
AND text like '%62%'
OR (attribute_id = 35 AND text like '%71%')
您想要返回具有(attribute_id = 30 AND 文本如 '62')的项目和具有(attribute_id = 35 AND 文本如 '71')的项目。
这与检索具有 (attribute_id = 30 AND text like '62')和具有(attribute_id = 35 AND text like '71') 的项目不同
它可以用两种方式表达:
检索满足 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 的项目:或
select * from gc_product_attribute where (attribute_id = 30 AND text like '62') OR (attribute_id = 35 AND text like '71')