-3

ここに画像の説明を入力

partno = MEM1600-2U6D、brandname = Cisco、Condition = New の SKU を選択する必要があります。

誰でも私にこれに対する解決策を提供できますか?

4

2 に答える 2

2
$collection = Mage::getModel('カタログ/製品')
->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter(配列(
    array('attribute'=>'partno','eq'=>'MEM1600-2U6D'),
)))
->addFieldToFilter(配列(
    array('attribute'=>'brandname','eq'=>'Cisco'),
)))
->addFieldToFilter(配列(
    array('attribute'=>'condition','eq'=>'New'),
)))

私はわかりません。さらに、UNION を使用して目標を達成することもできます。

さて、私はこのようなことを試してみます:

SKU を選択
FROM catalog_product_entity
どこ
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'
     連合
     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'
     連合
     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 つのエントリがある場合、それはケースに一致することを意味します。

于 2012-05-03T12:51:43.677 に答える
0

条件列はどこにありますか?

編集:N / m、私はちょうど見た。そのテーブル設定ではそれを行うことはできません。条件/ブランドは、値ではなく、別の列またはテーブルである必要があります。値の列にConditionを指定すると、独自のSKUがあるため、製品用と状態用の2つのSKUがあります。

于 2012-05-03T12:36:19.813 に答える