找回密码
 立即注册

QQ登录

只需一步,快速开始

249842678

金牌服务用户

56

主题

141

帖子

507

积分

金牌服务用户

积分
507
249842678
金牌服务用户   /  发表于:2024-11-6 15:46  /   查看:52  /  回复:9
1金币
本帖最后由 249842678 于 2024-11-6 17:18 编辑

表格中涉及到关联表信息显示,把对应sql语句复制到数据库中查出来是五万多笔,但是列表中只有93笔,没有显示所有的基准表信息

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

9 个回复

倒序浏览
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:前天 16:44
沙发
大佬,看sql的话,应该是有做分页处理,每次只查询25条数据,那实际上和大佬的表格有没有开启分页或者按需加载呢
其次,大佬说吧sql复制到数据库种可以查询出5万多条数据,查询的时候有删除这里的limit和offset关键字吗?如果没有删除的话,数据库的结果和sql也对不上呀~~
回复 使用道具 举报
249842678
金牌服务用户   /  发表于:前天 16:49
板凳
本帖最后由 249842678 于 2024-11-6 16:52 编辑
Nathan.guo 发表于 2024-11-6 16:44
大佬,看sql的话,应该是有做分页处理,每次只查询25条数据,那实际上和大佬的表格有没有开启分页或者按需 ...

去除了分页,总数页面93,数据库是5万多,没有开启按需加载,页面所有的页数加起来数据只有93,连基准表的数据都没有拿全,正常页面关联,是左关联,基础表的数据肯定都有的
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:前天 16:58
地板
那大佬这个页面有设计类似于统计字段之类的操作吗?还有就是大佬的分页最大页数设置的是多少?

或者大佬新建一个工程文件,使用导入活字格工程文件功能,把这个页面和数据表导入到新工程中,如果数据表是外联,我们按住ctrl+shift点击内建表转外联功能,就可以使用隐藏功能外联转内建,把数据表转为内建表了;然后把这个新工程发上来这边一起分析下问题原因~~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
249842678
金牌服务用户   /  发表于:前天 17:19
5#
Nathan.guo 发表于 2024-11-6 16:58
那大佬这个页面有设计类似于统计字段之类的操作吗?还有就是大佬的分页最大页数设置的是多少?

或者大佬 ...

上传了,关联起来是有5万多的
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:前天 17:48
6#
249842678 发表于 2024-11-6 17:19
上传了,关联起来是有5万多的

大佬,我看了下,这个咱们的数据结构和表格设计的问题
举个例子:
1.首先,表格绑定的是sys_process表
2."设备"通过process_code字段关联到了sys_work_equip数据表的work_code字段

3.此时我们查看sys_work_equip表,发现work_code字段不是唯一的

4.所以关联的时候并不是1对1 或者多对1的关系,也就是说,主表中的一个process_code字段可以找到多个woek_code数据,那表格具体应该显示哪个呢
5.这个时候活字格默认帮咱们处理了这种情况,所以join下来就是这些数据,而sql原生查询的话由于1对多,就会产生5w条


因此这个问题本质上,大佬首先需要思考数据结构以及展示数据的方式是否需要优化,简单点说,出现上述情况时,究竟想展示sys_work_equip数据表的哪些数据?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
249842678
金牌服务用户   /  发表于:前天 18:08
7#
Nathan.guo 发表于 2024-11-6 17:48
大佬,我看了下,这个咱们的数据结构和表格设计的问题
举个例子:
1.首先,表格绑定的是sys_process表
...

我要左关联所有的数据,肯定不是一对一的啊,我要查的就是这个work_code 关联出的一对多的数据,数据表中关联不是左关联吗,那为啥我把调试中页面的sql语句复制到数据库中查出的结果就不一样呢
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:前天 18:11
8#
249842678 发表于 2024-11-6 18:08
我要左关联所有的数据,肯定不是一对一的啊,我要查的就是这个work_code 关联出的一对多的数据,数据表中 ...

首先结果不一样,就像我上边说的是因为活字格做了处理

其次如果向展示多个work_code数据:
1.表格绑定sys_work_equip表,以这个表为主视角去关联显示其他表数据

2.写视图,表格再去绑定视图
回复 使用道具 举报
249842678
金牌服务用户   /  发表于:昨天 08:39
9#
本帖最后由 249842678 于 2024-11-7 08:40 编辑
Nathan.guo 发表于 2024-11-6 18:11
首先结果不一样,就像我上边说的是因为活字格做了处理

其次如果向展示多个work_code数据:

我不以sys_work_equip为基准,是因为我要拿sys_process所有的数据,然后左关联sys_work_equip,如果直接以sys_work_equip 为基准表,那就会导致sys_process表下的好多数据没有,因为sys_work_equip为关联表,并不包含所有的基准表数据。我看活字格解析出来的是left join的,所以我以为数据能全部展示的,目前来看不是,更像join
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:昨天 09:59
10#
249842678 发表于 2024-11-7 08:39
我不以sys_work_equip为基准,是因为我要拿sys_process所有的数据,然后左关联sys_work_equip,如果直接以 ...

活字格目前这种"当前行"的机制及策略,是以表格绑定的数据表为主视角,再不被统计字段影响的情况下,一定是主视角多少数据,表格展示多少数据;如果再这种场景下直接展示一对多left join出来的这5w行数据,会使这个策略机制本身出现很多矛盾点,也因此,再活字格中这种方式也是不建议使用的,项目运行起来后,活字格也会提示开发人员:


这种情况还是建议大佬写个视图,活字格的表格直接绑定这个视图就不会出现这个问题了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部