首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

最大的数据量~日期按月生成,该怎么处理

2012-12-30 
最大的数据量~日期按月生成本帖最后由 smartfan 于 2012-08-17 10:27:48 编辑表1姓名 时间1时间2时间3张三

最大的数据量~日期按月生成
本帖最后由 smartfan 于 2012-08-17 10:27:48 编辑 表1
姓名 时间1      时间2     时间3
张三 20080501  20091130   20091220
王五 20050101  20060930   20061030
张三 20100701  20111130   20111220


如何生成另一个表,让表1的每一条记录,从时间1到时间2按月生成

表2
姓名 时间1       时间3
张三 20080501  20091220
张三 20080601  20091220
张三 20080701  20091220

.....

张三 20091130  20091220

表2会有上千万条记录,怎么才能快一些~



[解决办法]
本帖最后由 dkfdtf 于 2012-08-17 11:50:15 编辑

*-- vfp9 代码
Create Cursor 表2 (姓名 C(10), 时间1 C(8), 时间3 C(8))
Select 0
Use 表1
Scan all
  Scatter name orec
  t1 = Cast(Transform(时间1,'@R XXXX/XX/XX') as D)
  t2 = Cast(Transform(时间2,'@R XXXX/XX/XX') as D)
  Do while t1 < t2
    Insert into 表2 (姓名, 时间1, 时间3) Values (orec.姓名, Dtos(t1), oRec.时间3)
    t1 = Gomonth(t1, 1)
  EndDo
  Insert into 表2 (姓名, 时间1, 时间3) Values (orec.姓名, Dtos(t2), oRec.时间3)
EndScan

Select 表2
Locate
Browser

热点排行