Joh*_*ohn 16 sql t-sql sql-server sql-server-2008
我有一个查询:
DECLARE @tmpValue
SET @tmpValue = 0 -- it will be change
SELECT * FROM Animal WHERE AniActive = 1
UNION
IF @tmpValue > 0
SELECT * FROM Animal WHERE.Active = 0
Run Code Online (Sandbox Code Playgroud)
当我像这样使用它时会因为if条件而给出错误.由于我们的结构,我必须使用UNION.
我如何在条件下使用它?
谢谢,
约翰
Mah*_*mal 24
将条件移动@tmpValue > 0到WHERE子句,如下所示:
SELECT * FROM Animal WHERE AniActive = 1
UNION
SELECT * FROM Animal WHERE @tmpValue > 0 AND Active = 0
Run Code Online (Sandbox Code Playgroud)