当前位置: 代码迷 >> Sql Server >> update 的时候使用 case when,该怎么解决
  详细解决方案

update 的时候使用 case when,该怎么解决

热度:68   发布时间:2016-04-27 15:16:57.0
update 的时候使用 case when
学生表
学生ID 学生名 体重 学生所在班ID


现在想修改学生的信息,也就是修改姓名、体重两项。
一般的修改是这样的
UPDATE [test].[dbo].[Student]
  SET[Name] = '英雄', 
weight=555
 WHERE sid='S0004'

现在有个特殊的要求,就是只修改该生在111班的姓名值,在其它班的姓名不变,也就是说,允许一个学生有多个姓名

UPDATE [test].[dbo].[Student]
  SET case when classid = 111 then [Name] = '英雄' end, 
weight=555
 WHERE sid='S0004'

这样写报错

------解决方案--------------------
SQL code
UPDATE [test].[dbo].[Student]  SET [Name] = case when classid = 111 then  '英雄' else name end,  weight=555 WHERE sid='S0004'
------解决方案--------------------
UPDATE [test].[dbo].[Student]
SET [Name] = case when classid = 111 then '英雄' else name end, 
weight=555
 WHERE sid='S0004'
------解决方案--------------------
SQL code
UPDATE [test].[dbo].[Student]SET name = case when classid = 111 then  '英雄' else name end, weight=555WHERE sid='S0004'
  相关解决方案