select fno,fname,remark1
from t_base where fparentid='159' or fparentid='169'
from t_base where (${plant}='1' and fparentid='159') or (${plant}='2' and fparentid='169')
from t_base where fparentid='159' or fparentid='169'
order by cast(remark1 as int)asc
得到的结果为两组数据同时显示,想要达到某种条件下显示其中一个
网上较好方法为
- WHERE IF( `parentID` =1, `plan_id` <10, `plan_id` >500 )
- 说明: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,remark1from t_base where (${plant}='1' and fparentid='159') or (${plant}='2' and fparentid='169')
order by cast(remark1 as int)asc