我試圖根據表B的價格根據產品代碼更新表A中產品的價格。表A中有來自表B的多個值的SQL更新值
表A中約有50,000件產品,但表B中只有200件。 所以我希望表B中的200個價格通過匹配兩個表中的產品代碼來替換表A中那些產品的價格。
任何人都可以告訴我如何去做呢?
我試圖根據表B的價格根據產品代碼更新表A中產品的價格。表A中有來自表B的多個值的SQL更新值
表A中約有50,000件產品,但表B中只有200件。 所以我希望表B中的200個價格通過匹配兩個表中的產品代碼來替換表A中那些產品的價格。
任何人都可以告訴我如何去做呢?
您可以使用MS Sql服務器的內連接更新(參考:Update a table using JOIN in SQL Server?)。請嘗試以下查詢:
UPDATE
TableA
SET TableA.Price = TableB.Price
FROM
TableA, TableB
WHERE
TableA.ProductCode = TableB.ProductCode
是不是最好使用顯式連接語法而不是舊的FROM表,表。只有理由我upvoted @ Nadeem_MK答案。 –
UPDATE TableA
SET TableA.ProductPrice= TableB.price
FROM TableA
INNER JOIN TableB
ON TableA.productCode = TableB.productCode
update A t
set cost=(select cost from B where id=t.id)
where t.id in (select id from B)
哪個是你的數據庫試試這個命令? SQL服務器,oracle,MySql等。 – TechDo
你有沒有嘗試過做什麼? –
我的數據庫在sql server上。 我試圖從網站獲得一些參考,並編輯我的sql語句是這樣的。 UPDATE dbo.Shelflabel_Pricechange_Master SET [單價] =(SELECT T2。[單價] FROM dbo.shelflabel_pricechange T 2,其中dbo.Shelflabel_Pricechange_Master.Plu = t2.PLU) WHERE EXISTS(SELECT 1 FROM dbo.shelflabel_pricechange T2 WHERE dbo.Shelflabel_Pricechange_Master.Plu = t2.PLU) – user2818108