SQL server where if or 条件判断

select fno,fname,remark1
from t_base where fparentid='159' or  fparentid='169'

order by cast(remark1 as int)asc

得到的结果为两组数据同时显示,想要达到某种条件下显示其中一个

网上较好方法为

  1. WHERE IF(  `parentID` =1,  `plan_id` <10,  `plan_id` >500 )   
  2. 说明:WHERE  IF(条件,  true执行条件, false执行条件 )

或用case when then else end

另外我想到一个好的方法

where (XXX='1' and fparentid='159') or (XXX='2' and fparentid='169')

这样只会执行其中一句显示结果


自身情况相结合为(传参plant)

select fno,fname,remark1
from t_base where (${plant}='1' and fparentid='159') or (${plant}='2' and fparentid='169')

order by cast(remark1 as int)asc


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页