Foxtable(狐表)用户栏目专家坐堂 → [求助]后台按记录序号由大到小取相同阶数的记录序号


  共有2361人关注过本帖树形打印复制链接

主题:[求助]后台按记录序号由大到小取相同阶数的记录序号

帅哥哟,离线,有人找我吗?
绿火柴
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
[求助]后台按记录序号由大到小取相同阶数的记录序号  发帖心情 Post By:2020/11/23 15:31:00 [只看该作者]

后台按记录序号由大到小取相同阶数的记录序号
如题,在SQL中如何取出来?

如图所示:如果本行阶数=(向上查找,找到相同阶数的),则把记录序号标识在MAX中。
在EXCEL里或在狐表加载数据后,都很容易取,但目前数据量有几十万行。太慢。需要后台处理。

图片点击可在新窗口打开查看此主题相关图片如下:查找阶数标识.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 15:43:00 [只看该作者]

请导出部分数据测试一下

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/11/23 15:58:00 [只看该作者]

请蓝版帮看下,
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:按同阶取记录序号.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 17:22:00 [只看该作者]

update {BOM} As a,{BOM} As b set a.[max] = b.记录序号 where b.阶数=a.阶数 And b.记录序号 < a.记录序号 And a.阶差 = -1

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/11/23 19:52:00 [只看该作者]

蓝版,查找时应该是从(本记录序号-1)的最大记录序号向最小记录序号查询更新。

如下图:15行的MAX=13才对的。麻烦再帮看下。


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/11/23 19:53:10编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 21:19:00 [只看该作者]

access没有办法,不支持子查询。

如果是SqlServer,这样
update a set a.[max] = (Select max(记录序号) from {BOM} As b where b.阶数=a.阶数 And b.记录序号 < a.记录序号 And a.阶差 = -1) from {BOM} As a

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/11/23 21:55:00 [只看该作者]

小工具,是个人使用的。目前只能是ACCESS数据库

能不能,access 创建一个中转表 ,如BOMTEMP.把查询到结果,先存储到这个表中。然后再让BOM与BOMTEMP两个表关联,并更新BOM中的MAX

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107757 积分:548124 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/23 22:37:00 [只看该作者]

搞不定

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/11/24 10:16:00 [只看该作者]

蓝版,帮看下这样可以吗,还有没有可优化的地方。

我的思路是1建立中转表(BOMTEMP),删除所有行,再把查询结果插入到表中。2让BOM表与中转表连接找到最大记录

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:按同阶取记录序号.rar


[此贴子已经被作者于2020/11/24 10:16:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
绿火柴
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:480 积分:4476 威望:0 精华:0 注册:2014/3/4 21:20:00
  发帖心情 Post By:2020/11/24 10:18:00 [只看该作者]

本来是想在ACCESS中建立个查询方案,然后让BOM与查询方案连接取最大记录序号。但行不通。

 回到顶部
总数 11 1 2 下一页