Mysql 实际能用到的if esle case 多where查询

利用case进行多情况的where语句查询

上次遇到了一个多情况的where条件,尝试下用case多语句查询,需求是当seeStatus =0时,查询valid_grade 中含有当前id的数据,否则查询其他条件
语句如下
SELECT * from activity WHERE (CASE WHEN seeStatus >0 THEN 1=1 ELSE valid_grade like '%{$gradeInfo['grade_id']}%' END) and {$filterSql}

小结

当在where条件使用case时,注意语句顺序,where在前,case end要用小括号括起来,如果有其他条件,后面拼上其他条件就ok啦,,

你可能感兴趣的:(Mysql 实际能用到的if esle case 多where查询)