2013-08-06 204 views
0

我可以知道如何更新Sql Calculation語句嗎?更新Sql計算語句

例如我想更新的總和tatal表

下面是代碼

SELECT p.Qty AS pQty, 
     SUM(t.Qty) AS tQty, 
     p.Qty - SUM(t.Qty) AS total , 
     p.PName 
FROM tblTempTransaction t , 
    tblProducts p 
WHERE t.UserID= 2 
    AND t.OrderID=1 
    AND p.pid = t.pid 
GROUP BY t.UserID, 
     p.qty , 
     p.PName , 
     t.OrderID 

UPDATE tblProducts 
SET qty = p.Qty - SUM(t.Qty) 
WHERE t.UserID= 2 
    AND t.OrderID=1 
    AND p.pid = t.pid 
GROUP BY t.UserID, 
     p.qty , 
     p.PName , 
     t.OrderID 

我會得到一套數量= p.Qty錯誤 - SUM(t.Qty)

我可以知道如何解決這個問題嗎? 謝謝。

+1

什麼RDBMS放(MySQL和SQL服務器,Oracle,...)您使用的? 'UPDATE'語法是供應商特定的。 – peterm

+0

@Victor Tang你在哪裏聲明瞭別名'p'和't'? – Rohan

回答

1

假設您選擇的查詢是正確的..你忘了 '從'

UPDATE tblProducts 
    SET qty = p.Qty - sq.total from (select SUM(t.Qty) as total from "table" as t 
    WHERE t.UserID= 2 and t.OrderID=1 and p.pid = t.pid 
GROUP BY t.UserID, p.qty ,p.PName ,t.OrderID) as sq 
+0

@Mobstaa你將如何指定更新中的''t'',你能告訴我嗎? – zxc

+0

嗨,謝謝你的回覆。我知道什麼是平方? –

+0

FROM tblTempTransaction t –