主题:数据库问题 如何把数据库1变成数据库2格式
fandbf
[专家分:0] 发布于 2012-02-01 21:42:00
老师们,如何把数据库1变成数据库2格式?谢谢了!!!
数据库1格式
品名 数量 日期
a12 10 2012.01.01
a13 12 2012.01.02
a20 20 2012.01.05
a10 30 2012.01.10
a12 10 2012.01.11
数据库2格式
日期 a12 a13 a20 a10
2012.01.01 10
2012.01.02 12
2012.01.05 20
2012.01.10 30
2012.01.11 10
回复列表 (共2个回复)
沙发
wzxc [专家分:9440] 发布于 2012-02-02 11:56:00
LOCAL cSbmc,cZlzb,cZlzblb,cHjl && 定义局部变量:源表名称,主栏指标,主栏指标列表(供查询用),合计列
LOCAL i,cI && 定义局部变量:循环变量,i 的字符型量
cSbmc="b1" && 输入源表名称
Select distinct ALLTRIM(eval(FIELD(2)));
From &cSbmc;
Into Array Arrblzb && 到一维数组“宾栏指标”
nSzhs=Alen(Arrblzb,1) && 返回一维数组的行数—即“宾栏指标”数
SELECT (cSbmc)
cZlzb=ALLTRIM(FIELD(1))
cZlzblb=cZlzb+" as "+cZlzb
cHjl="" && 合计列
FOR i =1 To nSzhs
cI=TRANSFORM(i) && 将 i 转换成字符
cZlzblb=cZlzblb+","+"sum(IIF("+FIELD(2)+"=Arrblzb(&cI),"+FIELD(3)+",0.0000)) as &Arrblzb(i)"
cHjl=cHjl+"+"+Arrblzb(i)
ENDFOR
cHjl=SUBSTR(cHjl,2)
cZlzblb=cZlzblb+" from "+cSbmc+" group by "+cZlzb
Select &cZlzblb INTO TABLE bb
BROWSE nowait
RETURN
这段程序需要数据库1日期排在第一列
原帖地址:http://bbs.pfan.cn/post-252708.html
我来回复