• mysql小结


    一定记得,在sql中,筛选出需要的数据,永远比筛选掉不需要的数据好筛选的多

    就是,当需要筛选出同时满足一个表中的两个字段的两个条件的数据,就不能筛选掉不需要的数据,需要筛选出自己需要的数据,

    将不需要的数据排除在外。

    例如:

    昨天做的一个需求,在服务商的申请结算的单据表中,应为需要数据备份,所以需要筛选掉当fm.audit_state=1 && fm.exception_second_submit=1的数据,

    fm.exception_second_submit=1 这个筛选条件是二次审核提交的状态

    这样的话,想着去筛选掉这条数据就不现实

    写where语句

    where fm.audit_state!=1 and fm.exception_second_submit!=1

    这样的话就会把正在审核的单据过滤掉,直接写

    where fm.exception_second_submit!=1

    的话也不行,fm.exception_second_submit=1 这个筛选条件是二次审核提交的状态,所以直接 !=1进行过滤的话,会把二次提交的也过滤掉

    所以直接通过过滤出需要的数据的方法才能实现

    sql写法为:

           where fm.settlement_id = #{settlementId,jdbcType=INTEGER}
            and ((fm.AUDIT_STATE in (1,2,3,4) and fm.exception_second_settlement is null ) or
            (fm.AUDIT_STATE in (1,2,3,4) and (fm.exception_second_settlement in (2,3))))

    过滤出 fm.AUDIT_STATE 为状态  (1,2,3,4) ,(fm.exception_second_settlement in (2,3)的数据

  • 相关阅读:
    奇偶数排序
    买房子
    首字母大写
    学分绩点
    加减乘除
    最简真分数
    Hdu 1058 Humble Numbers
    Hdu 1032 The 3n + 1 problem
    Hdu 1040 As Easy As A+B
    Hdu 1025 Constructing Roads In JGShining's Kingdom
  • 原文地址:https://www.cnblogs.com/huanghuanghui/p/9321643.html
Copyright © 2020-2023  润新知