原数据 希望处理结果
产品类别 产品编号 产品类别 起始编号 结束编号
A 1 A 1 3
A 2 A 5 6
B 1 B 1 2
C 1 B 5 7
D 5 C 1
D 7 C 3 5
E 1 D 5
A 3 D 7 8
B 2 E 1 2
B 5 E 5
C 3 E 7
E 2
A 5
E 5
D 8
C 4
A 6
B 6
E 7
B 7
------解决方案--------------------------------------------------------
*表结构如下:
*CREATE TABLE 原数据 (类别 c(1),编号 n(2))
*CREATE TABLE 原数据 (类别 c(1),起始 n(2),结束 n(2))
- SQL code
SET SAFETY OFFCLOSE DATABASESUSE 原数据 IN 0 ALIAS 原数据USE 目的表 IN 0 ALIAS 目的表SELECT 目的表zapSELECT 原数据INDEX on 类别+CHRTRAN(STR(编号,2),' ','0') TO 原数据GO toplb=类别bh1=编号bh2=编号DO WHILE !EOF() skip IF lb==类别 IF 编号-bh2=1 bh2=编号 ELSE SELECT 目的表 APPEND blank REPLACE 类别 WITH lb,起始 WITH bh1,结束 WITH bh2 SELECT 原数据 bh1=编号 bh2=编号 ENDIF ELSE SELECT 目的表 APPEND blank REPLACE 类别 WITH lb,起始 WITH bh1,结束 WITH bh2 SELECT 原数据 lb=类别 bh1=编号 bh2=编号 ENDIFENDDOSELECT 目的表REPLACE 结束 WITH 0 FOR 起始=结束SET SAFETY ONBROWSE