【发布时间】:2017-12-07 20:14:19
【问题描述】:
我有这个表结构/数据:
我想选择在 (attribute_id,store_id 上具有 (97,6,2) AND (99,1,4) 组合的 row_id(s) ,value)。
在这个例子中,我们想要得到row_id 8664,因为它尊重这个条件。
我所做的是使用where in 语句,如下所示:
SELECT DISTINCT row_id from catalog_product_entity_int
where row_id in
(select row_id from catalog_product_entity_int
WHERE (attribute_id, store_id,value)
IN ( (99,1,4),(97,6,1) ))
这将输出具有 (99,1,4) OR (97,6,1) 的行。
我试过这个查询:
SELECT DISTINCT row_id from catalog_product_entity_int
where row_id in
(select row_id from catalog_product_entity_int
WHERE (attribute_id, store_id,value) IN (99,1,4)
AND (attribute_id, store_id,value) IN(97,6,1) )
但我有#1241 - Operand should contain 3 column(s)
我如何设法选择同时验证这两个条件的行?
【问题讨论】: