Select 带有CASE的SQL语句
这句话能跟在哪里的情况下起作用吗?我希望你明白我的意思。谢谢。Select 带有CASE的SQL语句,select,case,where,Select,Case,Where,这句话能跟在哪里的情况下起作用吗?我希望你明白我的意思。谢谢。选择[用户] SELECT user FROM userlist zH with(nolock) where zH.user in (case when zh.trait='1' then ('B', 'HO', 'KO', 'PL','APP','2A','2B') else ('O') end) 来自userlist zH WITH(NOLOCK) 其中(zh.trait='1' 以及('B','HO','KO','PL',
选择[用户]
SELECT user
FROM userlist zH with(nolock)
where zH.user in (case when zh.trait='1' then ('B', 'HO', 'KO', 'PL','APP','2A','2B') else ('O') end)
来自userlist zH WITH(NOLOCK)
其中(zh.trait='1'
以及('B','HO','KO','PL','APP','2A','2B'中的zH.[user]
)
或(zh.trait'1'
和('O'中的zH.[user]
)
您可以使用嵌套的case语句,如
SELECT [user]
FROM userlist zH WITH ( NOLOCK )
WHERE ( zh.trait = '1'
AND zH.[user] IN ( 'B', 'HO', 'KO', 'PL', 'APP', '2A', '2B' )
)
OR ( zh.trait <> '1'
AND zH.[user] IN ( 'O' )
)
如果行得通就执行,然后超级..这个答案出现在低质量审查队列中,可能是因为您没有解释某些内容。如果你解释了这一点(在你的答案中),你就更有可能获得更多的选票,提问者实际上学到了一些东西!
SELECT user
FROM userlist zH with(nolock)
where 'true' =
(case when zh.trait = '1'
then
case when zH.user in ('B', 'HO', 'KO', 'PL','APP','2A','2B')
then 'true'
else 'false'
end
else
case when zH.user = 'O'
then 'true'
else 'false'
end
end)