找回密码
 立即注册

QQ登录

只需一步,快速开始

跷跷板

中级会员

86

主题

229

帖子

979

积分

中级会员

积分
979
跷跷板
中级会员   /  发表于:2024-8-26 10:09  /   查看:1012  /  回复:7
1金币

现状:
现有一个计划主表, 其中有一列【物控料况】, 此数据来源于旁边的缺料表,用来显示此主计划中哪个材料缺料, 以及缺料多少,用户指导主计划的排产。
因为一个物控料况字段,可能对应多行的缺料表, 所以这是一个用TEXTJOIN来做的关联数据。  
(假如通过主计划计的成品料号, 对缺料表中的成品料号对应 )

得到的结果:

需求:
但在运行的时候,加了这个TEXTJOIN之后, 这个主计划就变的非常的慢。 要半分钟有点用户一点就卡死, 所以是什么办法可以优化这个效率。


我想用ODATA或Vlookup,但不知怎么同时显示多行, 另外这些函数效率可能也不高。
不知道如何通知SQL处理, 因为涉及到多行拼接到一行, SQL Server这样的语句不会写。





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

最佳答案

查看完整内容

SQL Server 你百度查一下stuff和for xml path这两个函数结合可以实现多行拼接

7 个回复

倒序浏览
最佳答案
最佳答案
zyk.Zhou活字格认证
论坛元老   /  发表于:2024-8-26 10:09:16
来自 2#
SQL Server

你百度查一下stuff和for xml path这两个函数结合可以实现多行拼接

回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-8-26 17:56:52
3#
看下来感觉可能是缺料表数据较多的原因导致的这个问题~~

大佬,这个问题不妨搞个demo上来瞧瞧;

大佬可以信件一个工程文件,使用导入活字格工程文件功能,把有问题的页面和数据表导入到新工程中,如果数据库是外联,可以转到内建,然后把这个新工程作为demo附上来,这边分析下textjoin公式导致卡顿的原因,也方便推荐更好的解决方案~~
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-9-10 18:21:02
4#
这个问题如果大佬不方便提供demo的话,也可以再检查下公式的使用方式是否正确,看你的textjoin中还使用了if,也可以考虑使用我们的textjoinif公式~~

本帖子中包含更多资源

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

x
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:2024-9-11 08:34:28
5#
可否把物控的textjion 换count,加个弹窗显示详情
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-9-11 08:49:03
6#
赛龙周 发表于 2024-9-11 08:34
可否把物控的textjion 换count,加个弹窗显示详情

也是一个不错的思路~~
回复 使用道具 举报
跷跷板
中级会员   /  发表于:2024-9-21 14:08:15
7#
在SQL2017以后的版本有中有一个函数Stuff,可以用视图视解决这个问题,效率会提高 。
因为目前的是
1. 要选过滤1000多行的数据。
2. 将数据加载到页面的表中。
3. 用textjoin  查出来,拼接多行于一行。 还要判断条件相等。
这个方式想想都慢,只是目前没有更好的方式;

Stuff的函数式,我没有尝试,因为我的是SQL2016.  但在后面处理好,然后在前端点击弹出,目前也只能这样了。 否则效率太低了。
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-9-23 16:06:28
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部