我正在開發簡單的庫存系統,但是在從 3 個不同的表格中計算出 3 個數量后,我很難獲得手頭的準確庫存。我的目標是將接收庫存的總和 回傳庫存的總和 - 傳出庫存。但是,如果呼出庫存沒有資料,則所有記錄都為空。
這是我的資料和查詢。
receiving_stock
Prod_ID, Qty
123 10
124 10
returning_stock
Prod_ID, Qty
124 10
125 10
outgoing_stock
No Data Yet
Actual Result:
Prod_id, qty
Null 10
Null 20
Null 10
Desired Result:
Prod_id, qty
123 10
124 20
125 10
Query:
Select prod_id, isnull(qty,0)-isnull(sold,0) on-hand
Select prod_id, sum(qty) qty
(
select prod_id,qty
From receiving_stock
Union all
select prod_id,qty
From returning_stock
) Za
Group by prod_id
) Zb
Left join
(
From
Select prod_id, sum(qty) sold
From outgoing_stock
Group by prod_id
) zc
) zd
On
Zb.prod_id=zd.prod_id
uj5u.com熱心網友回復:
您可以將第三個表包含在UNION ALL
負數中:
SELECT prod_id,qty
From receiving_stock
UNION ALL
SELECT prod_id,qty
From returning_stock
UNION ALL
SELECT prod_id, -qty
From outgoing_stock
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/530299.html
標籤:sql服务器
上一篇:將具有相同id的2行合并為1列