1

我正在处理以下简单查询。我想加入小队并分组 g 表但有条件(@ZeroOrOne 参数将为 0 或 1)

WHERE 
  CASE WHEN IsNumeric(@ZeroOrOne) = 0 THEN 

    s.TeamId=g.Team1Id  --if @ZeroOrOne value is 0 then perform this statement

  ELSE   
     s.TeamId=g.Team2Id --if @ZeroOrOne value is 1 then perform this statement

什么是正确的方法;我应该更改我的查询或逻辑吗?

4

1 回答 1

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) = 0 THEN g.Team1Id  
  ELSE g.Team2Id END
于 2013-06-04T08:58:14.770 回答