我正在尝试使用以下查询从现有表Students
创建SQL Server 2008视图:
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中完美执行,但视图无法创建。请指教。
答案 0 :(得分:3)
IIF是SQL Server 2012中的一项新功能(http://www.mssqltips.com/sqlservertip/2570/new-logical-functions-in-sql-server-2012-iif-and-choose/)。您无法在2012年进行设计并期望在2008年开始运作。
答案 1 :(得分: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