2013-06-29 4 views
0

Я пытаюсь создать SQL Server 2008 вид из существующей таблицы Students с помощью следующего запроса:Условные Вычисляемые столбцы в серверном Просмотры SQL

SELECT Std_ID, 
     Name, 
     Sub1, 
     Sub2, 
     IIf ((Sub1 + Sub2)>160, 'A', 
     IIf ((Sub1 + Sub2)>100, 'B','C')) AS Legend 
FROM dbo.Student 

Это дает мне ошибку, упомянутых ниже.

Ошибка в списке аргументов функции: '>' не распознается.
Невозможно проанализировать текст запроса.

Я ожидаю, что у вас будет рассчитанная колонка Legend. Запрос отлично выполняется в Query Designer, но представление не создается. Пожалуйста, порекомендуйте.

ответ

2

Попробуйте?

SELECT 
    Std_ID, 
    Name, 
    Sub1, 
    Sub2, 
    Legend = 
      case 
      when Sub1 + Sub2 > 160 then 'A' 
      when Sub1 + Sub2 > 100 then 'B' 
      else 'C' 
      end 
    FROM dbo.Student