一个update中的多个更新条件

本文关键字:更新 条件 update 一个 | 更新日期: 2023-09-27 18:03:12

我正在做一个WPF, c#项目,使用SQL server 2008。我有一个表Student_2012_2013,它有一个名为"class"的varchar(10)列。我需要在每年年底更新学生的课程。例如,如果类是'Nursery',它应该更新为'LKG',如果是'LKG',它应该更新为'UKG', 'UKG'应该更新为'1','1'到'2',以此类推,直到'11'到'12'。

我可以在一个UPDATE查询中完成它,还是我需要触发15个不同的更新查询?

一个update中的多个更新条件

您可以使用CASE

UPDATE  Student_2012_2013
SET     class = CASE WHEN class = 'Nursery' THEN 'LKG' 
                    WHEN class = 'LKG' THEN 'UKG'
                    WHEN class = 'UKG' THEN '1'
                    // WHEN ... continue with your conditions...
                    ELSE class // if it doesn't match to any condition
                 END

用例语句更新表中的class列。例如:

Update Student_2012_2013 
set class = CASE 
        WHEN (CLASS = "NURSERY) THEN "LKG"
        WHEN (CLASS="LKG")THEN "UKG"
        ELSE "DEFAULT"
    END