Sql server 2008 如何在Sql Server 2008 Where子句中执行if else语句
我正在处理以下简单的查询。我想内部连接s组和g组表,但有条件(@ZeroOrOne参数将为0或1) 什么是正确的方法;我应该更改查询或逻辑吗?试试这个Sql server 2008 如何在Sql Server 2008 Where子句中执行if else语句,sql-server-2008,where-clause,if-statement,Sql Server 2008,Where Clause,If Statement,我正在处理以下简单的查询。我想内部连接s组和g组表,但有条件(@ZeroOrOne参数将为0或1) 什么是正确的方法;我应该更改查询或逻辑吗?试试这个 WHERE s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id ELSE g.Team2Id END 或者您也可以在ON子句中使用此选项 JOIN Table s ON s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne
WHERE
s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id
ELSE g.Team2Id END
或者您也可以在ON子句中使用此选项
JOIN Table s
ON s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id
ELSE g.Team2Id END
试试这个
WHERE
s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id
ELSE g.Team2Id END
或者您也可以在ON子句中使用此选项
JOIN Table s
ON s.TeamId = CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN g.Team1Id
ELSE g.Team2Id END