[英]subtracting value from 2 different table then insert the result to another table
[英]SQL: subtracting value in a table from another table
第一次在這里提問。 我試圖用 EXPOS.INV 中的數量減去表SS_Products
中的EXPOS.INV
。 這是我嘗試過的代碼:
UPDATE SS_products SS
SET SS.nb_stock = (SELECT SS.nb_stock - EX.Qty
FROM EXPOS_INV EX
WHERE SS.product_code = EX.Barcode)
該代碼有效,它更新了兩個表之間行匹配的nb_stock
,但它在每隔一行都將其置空。
我嘗試添加一個內部聯接:
UPDATE SS_products SS
SET SS.nb_stock = (SELECT SS.nb_stock - EX.Qty
FROM EXPOS_INV EX
WHERE SS.product_code = EX.Barcode)
INNER JOIN EXPOS_INV ON SS_products.product_code = EXPOS_INV.Barcode
這個沒有 go 通過。 我也嘗試了WHERE
但它不使用EXPOS_INV
中的任何子句
在回答之后,我嘗試了Where Exists
,但它返回了一堆不相關行的截斷消息。
我關注了一個基本示例的評論,我想出了這段代碼
UPDATE
SS_products
SET
SS_products.nb_stock = (Select SS.nb_stock - EX.Qty from EXPOS_INV EX
Where SS.product_code = EX.Barcode)
FROM
SS_products
INNER JOIN EXPOS_INV ON SS_products.product_code = EXPOS_INV.Barcode
Where
SS_products.product_code = EXPOS_INV.Barcode
這會返回語法錯誤。
如果匹配的行存在,您可以使用where
檢查:
UPDATE SS_products SS
SET SS.nb_stock = (Select SS.nb_stock - EX.Qty
from EXPOS_INV EX
Where SS.product_code = EX.Barcode
)
WHERE EXISTS (Select SS.nb_stock - EX.Qty
from EXPOS_INV EX
Where SS.product_code = EX.Barcode
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.