用命令把多条记录合并成一条记录
ksh xm kcdm kcmc dj123456 张三 01 政治 D
123456 张三 02 语文 D
123456 张三 03 数学 D
123456 张三 04 英语 D
都是字符型
转换成
ksh xm 政治 语文 数学 英语
123456 张三 D D D D
还都是字符型
用命令
请高手指点,谢谢
CREATE CURSOR Cjb (ksh c(10),xm c(10),kcdm c(2),kcmc c(10),dj c(1)) INSERT INTO Cjb (ksh,xm,kcdm,kcmc,dj) VALUES ('123456','张三','01','政治','D') INSERT INTO Cjb (ksh,xm,kcdm,kcmc,dj) VALUES ('123456','张三','02','语文','D') INSERT INTO Cjb (ksh,xm,kcdm,kcmc,dj) VALUES ('123456','张三','03','数学','D') INSERT INTO Cjb (ksh,xm,kcdm,kcmc,dj) VALUES ('123456','张三','04','英语','D') T1=Seconds() Local cBh,cKm cBh="Ksh" cKm="Kcmc" Select Distinct &cKm From Cjb Into Array Akm List Memory LIKE Akm cStru=cBh+" C(6)" For lnI=1 To Alen(Akm,1) cStru=cStru+Iif(Not Empty(cStru),",","")+Akm[lnI]+" C(1)" EndFor Create Cursor 列转行 (Xm C(10),&cStru) Insert Into 列转行 (&cBh,Xm) Select Distinct &cBh,Xm From Cjb For lnI=1 To Alen(Akm,1) Update 列转行 Set &Akm[lnI]=A.Dj From Cjb A Where 列转行.&cBh==A.&cBh And Akm[lnI]==A.&cKm EndFor MessageBox("共运行:"+Transform(Seconds()-T1)+" 秒") Browse