SQL Case语句未给出期望的结果

时间:2020-11-04 14:02:15

标签: sql-server case

我正在处理sql case语句。我有以下部门: 部门:“ SCV”,“ ICT”,“ SCM”,“ MTH”,“ AAT”,“ ACC”,“ GCSE”

Here's my case statement:

CASE WHEN Dept = 'MTH' AND Course.Name Like 'Func%' THEN 'MTH Func'
            WHEN Dept = 'MTH' AND Course.Name Like 'GCSE%' THEN 'MTH GCSE' 
      ELSE Dept END AS Department

这是我的结果集: My result set

我不希望在结果集中输入MTH。请帮忙。

1 个答案:

答案 0 :(得分:1)

您需要捕获删除的“ MTH”,然后需要一个条件。您显然在MTH部门所修课程不像“ Func”或“ GCSE”。

也许你想要

(CASE WHEN Dept = 'MTH' AND Course.Name Like 'Func%' THEN 'MTH Func'
      WHEN Dept = 'MTH' AND Course.Name Like 'GCSE%' THEN 'MTH GCSE' 
      WHEN Dept = 'MTH' THEN 'Anything but MTH' 
      ELSE Dept
 END) AS Department

或者您可能想要:

(CASE WHEN Dept = 'MTH' AND Course.Name Like 'Func%' THEN 'MTH Func'
      WHEN Dept = 'MTH' THEN 'MTH GCSE' 
      ELSE Dept
 END) AS Department