SQL中where条件如何判断某个字段有没有 20
select*fromtemwherepxincasewhen'1'=#bm#then('1','2')else('3')end会报then('1','2')这里面缺失右...
select * from tem where px in case when '1' = #bm# then ('1','2')
else ('3')
end
会报then ('1','2')这里面缺失右括号,不知如何解决?如果这个then这儿不能写in里面多个参数的话
那又该如何在where后面判断传进来的bm的值然后给px附加条件呢? 展开
else ('3')
end
会报then ('1','2')这里面缺失右括号,不知如何解决?如果这个then这儿不能写in里面多个参数的话
那又该如何在where后面判断传进来的bm的值然后给px附加条件呢? 展开
2个回答
展开全部
case语句只能写在select 与 from 之间,你的写法不对,所以会报错
要附加的话就先case when后再用where筛选,你的写法实在看不出你想干嘛
要附加的话就先case when后再用where筛选,你的写法实在看不出你想干嘛
追问
可以写在这里,如果then后面的参数('1','2')换成('1')这种单一的,就可以正确执行。
追答
哦,很少这样子写,今天也算学习了,
你改成这样试试
select * from tem where px in (case when '1' = #bm# then '1,2'
else '3'
end )
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询