我有以下查询:where子句中的SQL Case语句指定条件?
SELECT *
FROM dbo.tblOrders o
WHERE o.OrderId IN (SELECT [Value] FROM [dbo].[udf_GenerateVarcharTableFromStringList](@OrderId, ','))
AND
@ActiveInactive =
CASE
WHEN 'Active' THEN (o.[orderactivedate] > o.[orderinactivedate])
WHEN 'Inactive' THEN (o.[orderactivedate] < o.[orderinactivedate])
END
这将返回
An expression of non-boolean type specified in a context where a condition is expected, near 'THEN'.
我将如何得到这个工作?说如果该参数是'活动',然后按照以下标准返回记录?
作为旁白...您需要关闭那个'Active'然后声明的parens。 – DKnight 2011-05-09 15:54:35
添加了关闭的零部件 – davmos 2014-02-26 07:39:33