今天在项目中涉及到表中的三个字段
字段1 one,字段2 two ,优先级字段 use (如果use 等于1 则判断one 的值是否等于1,use 等于2 判断two的值是否等一)
select * from table a where 1=1
and (case when a.use='1' then a.one when a.use='2' then a.two end)='1'
或者使用
select * from table a where 1=1
and (case a.one WHEN '1' then a.one when '2' then a.two end)='1'