Foxtable(狐表)用户栏目专家坐堂 → 如何取最后日期?


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

主题:如何取最后日期?

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
如何取最后日期?  发帖心情 Post By:2023/10/16 11:19:00 [只看该作者]

表A:  料号、日期
        F1     2023-5-3
       F1      2023-6-30
       F2      2023-03-20
       F2      2023-9-30

效果如下
表B:料号、最后日期
      F1      2023-6-30
     F2      2023-9-30

问题一:表B如何实现取表A指定料号的最后日期?
问题二:如果表A的数量大,上百万条记录,用这种方法会不会影响效率?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/16 11:25:00 [只看该作者]

使用sql。比如
insert into 表B(料号,最后日期) selec料号,max(日期) from 表A group by 料号

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


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2023/10/16 11:32:00 [只看该作者]

表A与表B间,建立关联,父表:表B,子表:表A。关联字段:料号。
表B最后日期,用表达式列,引用子表数据,MAX(MAX(Child(关联).日期))

这要求对应的表A子数据,都要加载过来,百万条记录,肯定会严重影响效率。

可采用,表B如果是仅统计,不填写,直接用sql语句生成就好了

如果需要填写,可以在表A添加新记录后,同步UPDATE更新表B的最后日期,如果这个最后日期经常会用到,这显然更有利于效率


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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/10/17 13:45:00 [只看该作者]


UPDATE {表BB}, {表AA} Set {表BB}.最后日期 = {表AA}.日期(max(日期)) Where {表BB}.[料号] = {表AA}.[料号]



[此贴子已经被作者于2023/10/17 16:55:52编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/17 13:53:00 [只看该作者]

UPDATE {表BB} as b Set b.最后日期 = a.日期 from (select 料号,max(日期) as 日期 from {表AA} group by 料号) as a Where a.[料号] = b.[料号]

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/10/17 14:50:00 [只看该作者]

语法错误 (操作符丢失) 在查询表达式 'a.日期 From (Select 料号, max(日期) As 日期 From [表AA] Group By 料号) As a' 中。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/17 15:00:00 [只看该作者]

什么数据库?

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/10/17 15:06:00 [只看该作者]

ACCESS

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


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

UPDATE {表BB} as b , (select 料号,max(日期) as 日期 from {表AA} group by 料号) as a Set b.最后日期 = a.日期 Where a.[料号] = b.[料号]

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


加好友 发短信
等级:六尾狐 帖子:1360 积分:9034 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2023/10/17 15:51:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:
详细错误信息:
操作必须使用一个可更新的查询。

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