以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎样把统计结果保存到内部表中?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15383)

--  作者:gzdw
--  发布时间: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)

)

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


--  作者:狐狸爸爸
--  发布时间:2011/12/23 14:38:00
--  

做成一个查询表:

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

 


--  作者:gzdw
--  发布时间:2011/12/23 14:46:00
--  

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

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

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


--  作者:yangming
--  发布时间:2011/12/23 14:58:00
--  
可以先将查询表导出为EXCEL表中,然后在需要的时候,再导入到狐表中来
--  作者:狐狸爸爸
--  发布时间:2011/12/23 15:17:00
--  

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

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

 

 

 


--  作者:gzdw
--  发布时间:2011/12/23 17:54:00
--  

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

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

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

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

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

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

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

 

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

 

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

 

所以我的关键还是:

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

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

 

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

--  作者:狐狸爸爸
--  发布时间:2011/12/23 17:57:00
--  

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

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

 

 

 

 


--  作者:gzdw
--  发布时间: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中。

 

 

 

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

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