(150分)求救关于数据统计!(150分)

  • 主题发起人 主题发起人 星巴
  • 开始时间 开始时间

星巴

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一个数据库*.dbf,有如下字段
name,date,a,b,c,d
现在要求要把日期为同一月份的纪录中name相同的统计出来生成另外一个表。
例如:
表1: 张三 00-5-8 1 0 0 1
李四 00-5-9 0 0 0 1
张三 00-5-11 0 1 0 1
统计生成表2:
张三 00-5 1 1 0 2
李四 00-5 0 0 0 1
同时生成的表按照月份为文件名存盘
希望能够详细解答,不胜感激,我现在也只有这些分了,
希望能够给我来信mingstar@china.com
 
数据进入query
select sum(field1),sum(field2)...
from *.Dbf
where 月份:=yf
oder by name
把query中的数据按照月份为文件名存盘没做过。
上面的sql不知道对不对
请把最后的解决方法mail: sheepish@china.com 或在这里写明白
 
以下数据库是mssql7:

insert into table2(name,date,a,b,c,d) select name,substring(date,1,5),a,b,c,d from
table1 where substring(date,1,5)='00-05'

select name,date,sum(a),sum(b),sum(c),sum(d) from table2 group by
name,date
 
to fstao
我用的是db3的数据库
 
TO 千中元
你的SQL语句不好用!
 
在SYBASE或SQL SERVER试一下
create view mmm as
(select name,substring(date,1,5),sum(a),sum(b)
sum(c),sum(d) from table1
group by name,substring(date,1,5))

在PARADOX 将select 语句换成
(select name,substring(date from 1 for 5),sum(a),sum(b)
sum(c),sum(d) from table1
group by name,substring(date from 1 for 5))

以上将按月汇总至视图mmm,如同时生成的表按照月份为文件名存盘
可用fstao的方法加where,我想db3和PARADOX应相近,请参考上面
的substring(date from 1 for 5)。肯定要用程序写才好按月存。

为什么要每月一张表?不如存一张表,需要时按月提。

BTW:db3是DATABASE3吗?
如是DB2的话我还没找到取子串的函数。
 

"同时生成的表按照月份为文件名存盘"
这是Dos时代FoxBase或FoxPro2.5b的方法了。

为什么不采用一个表的方式呢?要备份就备份整张表好了。
这样,只要对“日期”(处理一下)之中的“年月”进行“过滤”
就可得到你指定的月份的记录。
对这些记录操作就简单了。

如果以后要查询或者要做全年统计,你更能体会到一张表的好处。


 
黄先生的思路确实不错
 
各位大虾:
对于sum(a)得到的表字段是sum of a 的 用fieldbyname('')可以取吗??
还有就是用batchmove可以吗??
substring(date,1,5)='00-05'为什么不好用??
再次请教
 
select Name,date,Sum(a), Sum(b),Sum(c),Sum(d)
from Table
where 1=1
and datepart(mm,datetimeBegin)=4
group by name

 
多人接受答案了。
 
后退
顶部