动态sql多条件查询,如何拼接?

下面这条sql怎么用动态sql拼接,主要是and和or那一块

SELECT *
FROM t LEFT JOIN l ON t.usernum = l.usernum AND t.date = l.date 
WHERE
    t.date = '2020-08-29'
    -------------------------------------------
    <if test="  age != '' and   age != null ">
            and t.age = #{age}
        </if>
    -------------------------------------------
    AND (( t.math > 80 OR t.english > 80 ) 
        OR ( t.pe > 90 OR t.politics > 90 ) 
        OR t.status = '1' 
        OR t.class = '三班' 
        OR l.usernum >10)
    -------------------------------------------

例如A不为空则执行t.math那段,B不为空则执行t.pe那段,C不为空则执行t.class那段,一直到结束...

<if test="  A != '' and   A != null ">
            t.math > 80 OR t.english > 80
</if>
<if test="  B != '' and   B != null ">
            t.pe > 90 OR t.politics > 90
</if>
阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题