请教大佬们一个数据设计的问题

2020-04-01 16:21:43 +08:00
 ccsulzf0627

前提:

凭证表 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 过滤

存在问题

在报表查询,统计的时候,这样很麻烦
694 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/658347

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX