根据mssl1中另一列的参数更新一列

时间:2018-06-16 15:37:58

标签: sql-server

我想根据作业类型

更新我的client数据库
id    Job_type  Meal_Ticket
---------------------------
 1       x        20
 2      2x        12

意思是如果我点击按钮点击添加20张餐票,它应该更新为:

id  Job_type    Meal_Ticket
----------------------------
 1     x           40
 2    2x           52

我试过

UPDATE Staff
SET Rticket = CASE 
                 WHEN Jobtype = 'x' THEN Rticket = SUM(Rticket + 20)
                 WHEN Jobtype = '2x' THEN Rticket = SUM(Rticket + 2*20)  
                 ELSE Rticket
              END

1 个答案:

答案 0 :(得分:1)

我想你想要这个:

UPDATE Staff
SET Rticket = CASE WHEN Jobtype = 'x' THEN Rticket + 20
                   WHEN Jobtype = '2x' THEN Rticket + 40 END
WHERE Jobtype IN ('x', '2x');

我在您的逻辑中看到的唯一问题是,当您应该使用SUM运算符时,您正在使用+添加两个数量。

相关问题