主题:[讨论]DBF表如何由“横”的a1表结构变成“竖”的b1表
表名:a1
表名 n01 n02 …字段名由N01递增到N80 N80
A1 25 30 …. 20
A3 19 32 …. 22
A9 29 15 …. 24
B2 20 40 …. 29
B5 34 25 …. 27
B1 24 21 …. 26
… 24 10 …. 28
...将近1万条
目的:“横”的a1表结构变成“竖”的b1表
表名:b1
表名 序列 数值
A1 n01 25
A1 n02 30
A1 …N80 20
A3 n01 19
A3 n02 32
A3 …N80 22
…. …
------------以下是我用的“笨”办法,由于记录非常多
------------达到 1万条*80,速度非常之慢----------
Create Table tmp\B1 (表名 c(10),序列 c(3), 数值 N(6) )
Select A1
Scan
c1=Alltrim(A1.方案名)
For F=2 To 80
cFld=Field(F)
Insert Into tmp\b1 Values (c1, Padl(F-1,2,"0"),A1.&cFld)
Endfor
Endscan
请教各位大侠有何巧办法,可提高速度!
另外,从a1表 中如何得出 每一行的最大值,如A1--(N01..N80)最大值=?
表名 n01 n02 …字段名由N01递增到N80 N80
A1 25 30 …. 20
A3 19 32 …. 22
A9 29 15 …. 24
B2 20 40 …. 29
B5 34 25 …. 27
B1 24 21 …. 26
… 24 10 …. 28
...将近1万条
目的:“横”的a1表结构变成“竖”的b1表
表名:b1
表名 序列 数值
A1 n01 25
A1 n02 30
A1 …N80 20
A3 n01 19
A3 n02 32
A3 …N80 22
…. …
------------以下是我用的“笨”办法,由于记录非常多
------------达到 1万条*80,速度非常之慢----------
Create Table tmp\B1 (表名 c(10),序列 c(3), 数值 N(6) )
Select A1
Scan
c1=Alltrim(A1.方案名)
For F=2 To 80
cFld=Field(F)
Insert Into tmp\b1 Values (c1, Padl(F-1,2,"0"),A1.&cFld)
Endfor
Endscan
请教各位大侠有何巧办法,可提高速度!
另外,从a1表 中如何得出 每一行的最大值,如A1--(N01..N80)最大值=?