我需要选择SKU,其中partno = MEM1600-2U6D,brandname = Cisco 和条件=新
任何人都可以为我提供解决方案。
答案 0 :(得分:2)
$collection = Mage::getModel('catalog/product') ->getCollection() ->addAttributeToSelect('*') ->addFieldToFilter(array( array('attribute'=>'partno','eq'=>'MEM1600-2U6D'), )) ->addFieldToFilter(array( array('attribute'=>'brandname','eq'=>'Cisco'), )) ->addFieldToFilter(array( array('attribute'=>'condition','eq'=>'New'), ))
我不确定。此外,您可以尝试使用UNION来实现目标。
好吧,我会尝试一下这个:
SELECT sku FROM catalog_product_entity WHERE entity_id in ( SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='Partno' LIMIT 1) AND value = 'MEM1600-2U6D' UNION SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='brandname' LIMIT 1) AND value = 'Cisco' UNION SELECT entity_id from catalog_product_entity_varchar WHERE attribute_id = (SELECT attribute_id from eav_attribute WHERE name='Condition' LIMIT 1) AND value = 'new' )
嗯,你可能
GROUP by entity_id HAVING COUNT(*) = 3
像这样的事情。这意味着如果我们对entity_id有3个entriies,那就意味着它会影响我们的情况。
答案 1 :(得分:0)
条件栏在哪里?
编辑:N / m,我刚看到。您无法使用该表设置执行此操作。条件/品牌必须是单独的列或表,而不是值。使用值列中的条件,它有自己的SKU,因此您有2个SKU,一个用于产品,另一个用于条件。