0

我正在开发 WPF、C# 项目并使用 SQL Server 2008。我有一个表 Student_2012_2013,其中有一列名为 varchar(10) 的“类”。我需要在每年年底更新学生的课程。例如,如果班级是'Nursery',则应更新为'LKG',如果是'LKG'则应更新为'UKG','UKG'应更新为班级'1','1'到“2”等等,直到“11”到“12”。

我可以在一个 UPDATE 查询中执行此操作,还是需要触发 15 个不同的更新查询?

4

2 回答 2

3

你可以用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
于 2013-03-11T07:36:40.107 回答
2

使用 case 语句来更新表中的类列。例如:

Update Student_2012_2013 
set class = CASE 
        WHEN (CLASS = "NURSERY) THEN "LKG"
        WHEN (CLASS="LKG")THEN "UKG"
        ELSE "DEFAULT"
    END
于 2013-03-11T07:46:20.330 回答