我试图在一个时间窗口内获得所有销售最多的产品。我使用以下查询
$productCollection = Mage::getResourceModel('reports/product_collection')
->addOrderedQty()
->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->setOrder('ordered_qty', 'desc')
->setOrder('created_at', 'desc');
但created_at是多个表中的一个字段。如何从我打算的表中正确引用该字段。我还想使用预期表格中的字段进行过滤。
答案 0 :(得分:0)
查询将如下所示
SELECT ...... FROM `sales_flat_order_item` AS `order_items` INNER JOIN `sales_flat_order` AS `order` ON `order`.entity_id = order_items.order_id AND `order`.state <> 'canceled' LEFT JOIN `catalog_product_entity` AS `e` .....
所以你有表别名
order_items,order和e
所以你可以添加这样的订单
$productCollection->getSelect()->order('order_items.created_at' . ' ' . 'DESC');