0

我正在尝试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。查询在查询设计器中完美执行,但无法创建视图。请指教。

4

2 回答 2

3

IIF 是 SQL Server 2012 中的一项新功能 ( http://www.mssqltips.com/sqlservertip/2570/new-logical-functions-in-sql-server-2012-iif-and-choose/ )。你不能在 2012 年设计并期望它在 2008 年工作。

于 2013-06-29T00:05:44.383 回答
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
于 2013-06-29T02:44:17.187 回答