2013-08-06 6 views
0

Могу ли я узнать, как обновить инструкцию расчета Sql?update Sql Calculation statement

Например я хочу, чтобы обновить 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 

Я получаю сообщение об ошибке из множества Qty = p.Qty - SUM (t.Qty)

Могу ли я знать, как это решить? Спасибо.

+1

Какой RDBMS (MySql, SQL Server, Oracle, ...) вы используете? Синтаксис 'UPDATE' специфичен для поставщика. – peterm

+0

@ Victor Tang, где вы объявили псевдоним 'p' и' t'? – Rohan

ответ

1

при условии, что Youre запрос правильно .. Вы забыли поставить 'от'

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

привет спасибо за ваш ответ.may Я знаю, что такое sq? –

+0

FROM tblTempTransaction t –