0
我正在直接與Magento數據庫一起工作,嘗試獲取訂單狀態爲Shipped
的所有訂單的列表,但不包括支付的訂單用於通過電匯(bankpayment
)。這裏是我當前的查詢:獲取所有未按「發貨」狀態付款的訂單
SELECT * FROM (
SELECT
so.entity_id,
so.created_at,
MAX(soe.created_at) AS shipped_at
FROM sales_order so
LEFT OUTER JOIN sales_order_entity soe
ON (soe.parent_id=so.entity_id)
LEFT OUTER JOIN sales_order_entity_varchar soev
ON (soev.entity_id = soe.entity_id)
AND (soev.value <> 'bankpayment')
WHERE (soev.value = 'shipped')
GROUP BY so.entity_id) AS shipped
WHERE (shipped.shipped_at >= '2013-05-01 04:00:00')
AND (shipped.shipped_at <= '2013-05-02 03:59:59');
我不是一個真正的SQL專家,你能看到我試圖選擇電匯這一行不支付的訂單:
AND (soev.value <> 'bankpayment')
但預期它不工作,我懷疑它做的WHERE
條款:
WHERE (soev.value = 'shipped')
我不知道如何正確編寫此查詢。有什麼建議?
注意 - 在這種情況下,我無法使用Magento模型/集合來收集數據。
這按預期工作。我也喜歡你教給我一些關於如何以及何時使用「擁有」條款的內容。謝謝! –