Sql 为什么';操作员是否在案例陈述中工作?
我一直试图在CASE语句中添加或运算符,但它不起作用Sql 为什么';操作员是否在案例陈述中工作?,sql,sql-server,sql-server-2008,tsql,stored-procedures,Sql,Sql Server,Sql Server 2008,Tsql,Stored Procedures,我一直试图在CASE语句中添加或运算符,但它不起作用 Where W.Organization_ID = CASE @IsAdmin OR @IsChiefEngineer WHEN 1 THEN W.Organization_ID ELSE @OrganizationID END 我想检查是否有IsAdmin或IsChief工程师,或者他们是1,然后Organization else@OrganizationID您可以按如下方式编写: Where W.Organizatio
Where W.Organization_ID =
CASE @IsAdmin OR @IsChiefEngineer
WHEN 1
THEN W.Organization_ID
ELSE @OrganizationID END
我想检查是否有IsAdmin或IsChief工程师,或者他们是1,然后Organization else@OrganizationID您可以按如下方式编写:
Where W.Organization_ID = CASE
WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1
THEN W.Organization_ID
ELSE @OrganizationID END
您应该测试OR运算符“内部”的每个参数
CASE
WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1
THEN W.Organization_ID
ELSE @OrganizationID
END
基本上,只需稍微修改一下您的案例陈述:
CASE
WHEN @IsAdmin = 1 OR @IsChiefEngineer = 1
THEN W.Organization_ID
ELSE @OrganizationID
END
大小写表达式,而不是语句。您使用的语法不能用于多个变量。请查看下面的答案以了解解决方法。抱歉,我没有注意您的代码,这应该可以,但它已经被回答了。