回 帖 发 新 帖 刷新版面

主题:怎样用sele查询把一个表按列存储的数据换成按行显示?

我有一个表,是这这样的,
   编号             课程    报名时间     考场号    座号        姓名
091201080001    01    20100101            杨耀杰
091201080001    02    20100101            杨耀杰
091201080001    03    20100101            杨耀杰
091201080002    01    20100101            张慧燕
091201080002    02    20100101            张慧燕
091201080002    03    20100101            张慧燕
091201080002    04    20100101            张慧燕
091201080002    05    20100101            张慧燕
091201080002    06    20100101            张慧燕


怎样用sele查询把一个表按列存储的数据换成按行显示?试了好几次不行,各位帮一下!!

回复列表 (共6个回复)

沙发

没人??
SELECT bh,xm,bmsj,zsxh,kch,zh,xxfz,IIF(kc='01','1','0') as kc01,IIF(kc='02','1','0') as kc02,IIF(kc='03','1','0') as kc03,IIF(kc='04','1','0') as kc04,IIF(kc='05','1','0') as kc05,IIF(kc='05','1','0') as kc05,IIF(kc='06','1','0') as kc06,IIF(kc='07','1','0') as kc07,IIF(kc='08','1','0') as kc08,IIF(kc='09','1','0') as kc09 FROM 08ygfx GROUP by bh

我改了下字段名,我用这个命令,提示“group by子句无效”希望哪位给看一下!

板凳

可以考虑利用数组实现转换。

3 楼

看不出有什么意义?

4 楼

我有用的,帮个忙看看怎么转换啊?

5 楼

你這樣轉把記錄數定死為6條,轉過來很可怕啊,你可知道VFP最大的字段數是255嗎?每一個學員要占一個字段,每一個日期又要占一個字段.確實好象沒有意義啊.

6 楼

不是的,kc(课程)字段最大为09(代表9门课程),也就是说我想把每个编号弄成一条记录,如:
编号   姓名    kc01   kc02...kc09
0001   张三     1      0
 如编号为0001 的考生,01号课程如果报名那么kc字段为1,否则为0,我上面的没有说清楚!日期(报名时间)是一样的。

“SELECT bh,xm,bmsj,zsxh,kch,zh,xxfz,IIF(kc='01','1','0') as kc01,IIF(kc='02','1','0') as kc02,IIF(kc='03','1','0') as kc03,IIF(kc='04','1','0') as kc04,IIF(kc='05','1','0') as kc05,IIF(kc='05','1','0') as kc05,IIF(kc='06','1','0') as kc06,IIF(kc='07','1','0') as kc07,IIF(kc='08','1','0') as kc08,IIF(kc='09','1','0') as kc09 FROM 08ygfx”
 这条命令可以转换成对应的1或0,但还是每个编号有N条记录!

我来回复

您尚未登录,请登录后再回复。点此登录或注册