SQL Server 视图中的条件计算列
Posted
技术标签:
【中文标题】SQL Server 视图中的条件计算列【英文标题】:Conditional Computed Columns in SQL Server Views 【发布时间】:2013-06-29 00:00:04 【问题描述】:我正在尝试使用以下查询从现有表 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
。查询在查询设计器中完美执行,但无法创建视图。请指教。
【问题讨论】:
【参考方案1】:IIF 是 SQL Server 2012 中的一项新功能 (http://www.mssqltips.com/sqlservertip/2570/new-logical-functions-in-sql-server-2012-iif-and-choose/)。你不能在 2012 年设计并期望它在 2008 年发挥作用。
【讨论】:
【参考方案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
【讨论】:
以上是关于SQL Server 视图中的条件计算列的主要内容,如果未能解决你的问题,请参考以下文章