2014-02-14 45 views
0

我有下面的代碼產生訂單號碼和值的列表...需要幫助從選擇查詢更新表

SELECT 
d.`OrderNo`, 
SUM(v.`UnitPrice`) 
FROM tblverification v 
LEFT JOIN tblorderdetailsafter d ON v.`VMainID` = d.`MainID` 
GROUP BY d.`OrderNo`; 

我需要更新的表稱爲matcontctsafter它有一個OrderNo領域,目前空白InvoiceAmount列,我需要相對SUM(v.UnitPrice)英寸

任何人都可以幫我構造UPDATE子句嗎?

回答

0
UPDATE matcontctsafter m 
INNER JOIN (
SELECT 
d.`OrderNo`, 
SUM(v.`UnitPrice`) InvoiceAmount 
FROM tblverification v 
LEFT JOIN tblorderdetailsafter d ON v.`VMainID` = d.`MainID` 
GROUP BY d.`OrderNo` 
) sq ON m.OrderNo = sq.OrderNo 
SET m.InvoiceAmount = sq.InvoiceAmount; 
+0

是!那是我想出的那個,花了2分鐘跑了49,000條記錄。 –

0
UPDATE matcontctsafter m SET m.InvoiceAmount = (SELECT 
SUM(v.UnitPrice) 
FROM tblverification v 
LEFT JOIN tblorderdetailsafter d ON v.VMainID = d.MainID 
WHERE m.OrderNo = d.OrderNo);