有一下幾張表:(簡單例舉,實際情況要復雜,比如采購入庫有稅率,庫存金額取值稅后))
采購入庫表:編碼 名稱 單價 數量 金額
盤存入庫表:編碼 名稱 單價 數量 金額
銷售出庫表:編碼 名稱 單價 數量 金額
調撥出庫表:編碼 名稱 單價 數量 金額
盤虧出庫表:編碼 名稱 單價 數量 金額
庫存表:編碼 名稱 單價 庫存數量 庫存金額
庫存=入庫+盤存-銷售出庫-調撥出庫-盤虧出庫
正常不出錯情況下,每次入庫 出庫 庫存都是正確的,但由于某些原因,庫存可能會不準確
就需要去校驗庫存
之前校驗庫存都是用 庫存=入庫+盤存-銷售出庫-調撥出庫-盤虧出庫 去挨個商品回圈去處理
這對于商品數量不多的情況下 還是可能等待
但是現在商品數量太多,這種方法去處理及其耗時
所以問問大家,有什么好的方法或者 用多表聯合的方式去UPDATEL ?
uj5u.com熱心網友回復:
UPDATE 庫存表 a,
(
SELECT 編碼,SUM(數量)數量 FROM
(
SELECT 編碼,數量 FROM 采購入庫表
UNION ALL
SELECT 編碼,數量 FROM 盤存入庫表
UNION ALL
SELECT 編碼,-數量 FROM 銷售出庫表
UNION ALL
SELECT 編碼,-數量 FROM 調撥出庫表
UNION ALL
SELECT 編碼,-數量 FROM 盤虧出庫表
)t GROUP BY t.編碼
)b SET a.數量 = b.數量
WHERE a.編碼 = b.編碼 AND a.數量 != b.數量;
uj5u.com熱心網友回復:
好的 謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/72060.html
標籤:MySQL
下一篇:db2資料庫提示-1221
