最大的数据量~日期按月生成解决思路
最大的数据量~日期按月生成
表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会有上千万条记录,怎么才能快一些~
------解决方案--------------------
表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会有上千万条记录,怎么才能快一些~
------解决方案--------------------
- SQL code
*-- 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