通過類似標題的問題來看,但沒有一個完全覆蓋了我的問題。我有一個看起來像這樣的查詢。SUM子查詢?
SELECT
bus_products.id
, bus_products.prod_name
, (
SELECT SUM(bus_warehouse_entries.quantity) * bus_products.weight
FROM bus_warehouse_entries
WHERE bus_warehouse_entries.org_product_code = bus_products.prod_code
AND bus_warehouse_entries.type = 0
AND bus_warehouse_entries.request_date >= 'some_date_here'
) AS reg_yr
FROM
bus_products
WHERE 1'some_search_params'
GROUP BY bus_products.prod_name
ORDER BY 'some_sort'
雖然我按產品名稱分組,但子查詢通過匹配產品代碼進行選擇。多個產品代碼可能具有相同的產品名稱。如果有多個具有相同名稱的代碼,則上述查詢僅捕獲歸因於第一個代碼的數量。
我想在子查詢周圍添加一個SUM(),以獲得具有該特定產品名稱的所有產品代碼的總數,但這會在子查詢SELECT的開始處導致語法錯誤。有關如何以另一種方式完成此任務的建議?
爲簡化起見,表是這個樣子
bus_products
id | prod_code | prod_name | weight
bus_warehouse_entries
org_product_code | quantity | type | request_date
會有其他子查詢與其他where子句添加一次我把這部分了。 – dqhendricks
我試過這個查詢,它在這裏工作,只是改變了地方和排序是有效的。 –
@SérgioMichels可以使用什麼數據?正如我在問題中所述,上述查詢將只抓取具有特定產品名稱的第一個產品代碼的總數......並且在子查詢周圍添加sum()會導致語法錯誤。 – dqhendricks