我有一个包含用户信息的表。使用列:
身份证工作人员
电子邮件
id\U主管
id\分公司
身份证部门
我想根据一个变量来选择这个表中的信息,比如
DECLARE @user_type nvarchar(20) = 'manager'
我怎样才能换衣服 where
基于变量的语句
例子:
SELECT *
FROM users
WHERE
(
CASE WHEN @user_type = 'manager' THEN
id_branch = 3 AND id_department = 9
ELSE
id_supervisor = 15
)
3条答案
按热度按时间cdmah0mi1#
使用布尔逻辑。你似乎想要:
jgwigjjp2#
这个
THEN
部分CASE
表达式产生值。它们不能产生更进一步的布尔表达式。要解决这个问题,必须将所有逻辑移到WHEN
部分CASE
表达式:qcbq4gxm3#
你可以这样用case表达式