[英]Mysql update with data from another table
我有兩個表buffer_details和stock。 我想使用緩沖區詳細信息表中的數據更新庫存表。
CREATE TABLE `buffer_details` ( `Ref` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `Reference_produit` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `Qte` decimal(10,2) NOT NULL, PRIMARY KEY (`Reference_produit`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT;
CREATE TABLE `stock` (`Reference` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `qte` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`Reference`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我嘗試了這個,但是它不起作用,我正在使用Mysql。 請注意,它是Qte = Qte +(buffer_details.Qte)
Update (select * from buffer_details) AS D1,stock set stock.qte = stock.qte + D1.Qte WHERE stock.Reference = D1.Reference_produit
您可以使用update-join語法:
UPDATE stock s
JOIN buffer_details d1 ON s.reference = d1.reference_produit
SET s.qte = s.qte + d1.qte
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.