【发布时间】:2013-09-08 20:43:01
【问题描述】:
我正在创建一个 SQL 查询,其中我需要一个条件 where 子句。
应该是这样的:
SELECT
DateAppr,
TimeAppr,
TAT,
LaserLTR,
Permit,
LtrPrinter,
JobName,
JobNumber,
JobDesc,
ActQty,
(ActQty-LtrPrinted) AS L,
(ActQty-QtyInserted) AS M,
((ActQty-LtrPrinted)-(ActQty-QtyInserted)) AS N
FROM
[test].[dbo].[MM]
WHERE
DateDropped = 0
--This is where i need the conditional clause
AND CASE
WHEN @JobsOnHold = 1 THEN DateAppr >= 0
ELSE DateAppr != 0
END
上述查询无效。这不是正确的语法还是我不知道的另一种方法?
我不想使用动态 SQL,所以有没有其他方法或者我必须使用解决方法,例如使用 if else 并使用具有不同 where 子句的相同查询?
【问题讨论】:
-
在其他人回答后更改问题或代码(从
DateAppr = 0到DateAppr >= 0)...为什么? -
对不起!我一开始就忘记了,所以只是纠正它
标签: sql sql-server sql-server-2008 tsql where-clause