Синаксная ошибка оператора SQL Case

Я новичок в SQL Server и делаю учебник, но не могу найти ошибку. Это точно так, как предлагает учебник, но не будет выполняться. См. ошибку ниже. Нужно ли включать определенные функции? Я использую SQL Server 2008R2 Express. Это имеет значение?

use AdventureWorks
go

SELECT top 5 Name, GroupName
 CASE GroupName
    when 'Research and Development' then 'RD'
    when 'Sales and Marketing' then 'SM'
    else 'Other'
 END 
FROM HumanResources.department;
go

Ошибка...

Сообщение 156, уровень 15, состояние 1, строка 3
Неверный синтаксис рядом с ключевым словом case.


person Community    schedule 28.05.2014    source источник


Ответы (1)


Вы забыли запятую. Столбцы должны быть разделены запятыми, и из-за того, как настроен оператор case, он считается столбцом. В вашем случае запятая ставится между столбцом GroupName и оператором Case, который я назвал псевдонимом myCase.

use AdventureWorks
go

SELECT top 5 Name, GroupName, 
    CASE GroupName
         when 'Research and Development' then 'RD'
         when 'Sales and Marketing' then 'SM'
         else 'Other'
 END as myCase
FROM HumanResources.department;
go
person Elias    schedule 28.05.2014