前提:
凭证表 Voucher 关联了很多基础表 A,B,C,就是说在 Voucher 里面有字段 A_id,B_id,C_id 凭证表和基础表 A,B,C 是一对一关系 Voucher 表和基础表 D 是一对多关系,所以有中间表 V_D,Voucher 可以有多个 D,也可以没有 需求:
只要基础表 A,B,C,D 隐藏(isHide 字段),或者逻辑删除时(deletedAt),我对凭证 Voucher 进行查询,报表统计,要排除掉相关的 Voucher 数据 目前解决办法:
A,B,C 在 innerJoin 进行过滤查询 但是对 D 表的隐藏和逻辑删除 我只能先去 innerJoin D & V_D where D.isHide = true OR D.deletedAt IS NULL 取出 v_id 然后再进行 NOT IN 过滤 存在问题
在报表查询,统计的时候,这样很麻烦 