我需要在查询中创建连接costum表。 我需要对按“entity_id”类别排序的所有产品进行循环,如果有效则加入此选择
SELECT *,
pps_product_id,
MIN(pps_last_unit_price) AS pps_last_unit_price,
pps_quantity_product
FROM
".Mage::getSingleton('core/resource')->getTableName('purchase_product_supplier')."
WHERE
pps_last_unit_price > '0'
AND pps_last_unit_price != '' AND pps_product_id = ".$data['entity_id']."
GROUP BY
pps_product_id
并加入SELECT *, COUNT(entity_id) AS conta FROM
".Mage::getSingleton('core/resource')->getTableName('catalog_category_entity_varchar')."
WHERE attribute_id = 192 AND entity_id = ".$IDProduto." AND value != '' AND value != '0'
如果有效。
有人可以帮帮我吗?
感谢
答案 0 :(得分:2)
首先,通常在Magento中首选使用Magento模型来查询数据库。这样,如果您决定切换,您的查询也可以在其他数据库上运行(据我所知目前不支持,但仍然值得)。
你的问题很模糊。你能提供自定义表的架构吗?什么与什么加入?在哪些领域?
首先,我会说它看起来像这样:
$pps = Mage::getModel('purchase_product_supplier')->getCollection()
->addAttributeToFilter('pps_last_unit_price', array('gt' => 0))
->addAttributeToFilter('pps_last_unit_price', true)
->addAttributeToFilter('pps_product_id', $data['entity_id']);
$pps->getSelect()->join(
);
答案 1 :(得分:2)
为什么不:
$orders->getSelect()->join(
array('p' => $orders->getResource()->getTable('sales/order_payment')),
'p.parent_id = main_table.entity_id',
array('cc_last4' => 'p.cc_last4',
'cc_type' => 'p.cc_type',
'additional_information' => 'p.additional_information',
)
);