Foxtable(狐表)用户栏目专家坐堂 → 怎样把统计结果保存到内部表中?


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

主题:怎样把统计结果保存到内部表中?

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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
怎样把统计结果保存到内部表中?  发帖心情 Post By:2011/12/23 14:36:00 [只看该作者]

原始数据是Oracle数据库的一张表,按每天统计,如

SELECT count(1) FROM {表名} WHERE [字段名] TO_CHAR(日期,'yyyy-MM-DD') = to_char(sysdate,'yyyy-MM-DD') and 操作类型="操作类型1" and 单位名称="某名称"

怎样把统计(计数)后的结果保存至一个表中?:

(

单位名称(C,20)

操作类型1(N,4)

操作类型2(N,4)

操作类型3(N,4)

日期(D)

)

我想先把统计结果放入一个数组,再更新到表。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/23 14:38:00 [只看该作者]

做成一个查询表:

http://www.foxtable.com/help/topics/2329.htm

 


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2011/12/23 14:46:00 [只看该作者]

这个查询表我已做好了。可惜查询表是一次只一个结果,我要查询很多条结果,

如统计每天某个单位(大约16个单位)的某种操作类型(大约20个)的次数,而且我要计数一整年 。

这样一条命令不够,所以想把每天的计数先保存到内部表中。


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/12/23 14:58:00 [只看该作者]

可以先将查询表导出为EXCEL表中,然后在需要的时候,再导入到狐表中来

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/23 15:17:00 [只看该作者]

可以一个Table显示多次查询的结果,建议看看开发指南《动态加载》,从这一节开始:

http://www.foxtable.com/help/topics/1268.htm

 

 

 


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2011/12/23 17:54:00 [只看该作者]

动态加载对于我一楼的问题不实用。

我还是接3楼的话说下去,我也得在VFP中有这样的功能,  统计出来的结果可以先存到数组中,再把这个数组更新到表中。

能这样的话,我可按三个循环去做,

第一层循环,从一年的第一天开始,按日统计。

    第二层循环,按单位名称统计(共有16个单位)。

                第三层循环,按操作类型统计

     退出第二层时,保存统计结果到表中

 

有了这个统计表,再作按月环比等操作。

 

简化的话,第二层与第三层可以写到一起。

 

所以我的关键还是:

1、如何把计数结果临时保存到数组。

2、如何把数组保存到表中。

 

[此贴子已经被作者于2011-12-23 17:56:32编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/12/23 17:57:00 [只看该作者]

可以临时存储,看看这里:

http://www.foxtable.com/help/topics/0696.htm

 

 

 

 


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


加好友 发短信
等级:小狐 帖子:308 积分:3351 威望:0 精华:0 注册:2011/12/22 17:52:00
  发帖心情 Post By:2011/12/23 18:16:00 [只看该作者]

ExecuteScalar

用于执行返回单个值的命令,例如:

Dim
ld As Date
Dim
cmd As New SQLCommand
cmd.CommandText =
"Select Max(日期) From {订单} Where 产品 = 'PD01'"

ld = cmd.ExecuteScalar()

上面的代码得到最后一次有人订购PD01的日期,并保存在变量ld中。

 

 

 

以上说明非常有用,谢谢!

我想参照这个例子可以实现统计(计数)结果保存到表中的目的。


 回到顶部