Sql Server与If条件联合

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 > 0WHERE子句,如下所示:

SELECT * FROM Animal WHERE AniActive = 1
UNION
SELECT * FROM Animal WHERE @tmpValue > 0 AND Active = 0
Run Code Online (Sandbox Code Playgroud)