主题:怎样用sele查询把一个表按列存储的数据换成按行显示?
hsw8208
[专家分:20] 发布于 2009-12-23 09:57:00
我有一个表,是这这样的,
编号 课程 报名时间 考场号 座号 姓名
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个回复)
沙发
hsw8208 [专家分:20] 发布于 2009-12-25 16:17:00
没人??
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子句无效”希望哪位给看一下!
板凳
妙计山人 [专家分:130] 发布于 2009-12-25 16:51:00
可以考虑利用数组实现转换。
3 楼
jinlonggao [专家分:17130] 发布于 2009-12-26 08:54:00
看不出有什么意义?
4 楼
hsw8208 [专家分:20] 发布于 2009-12-28 08:17:00
我有用的,帮个忙看看怎么转换啊?
5 楼
GEORGECHIN [专家分:440] 发布于 2009-12-28 08:47:00
你這樣轉把記錄數定死為6條,轉過來很可怕啊,你可知道VFP最大的字段數是255嗎?每一個學員要占一個字段,每一個日期又要占一個字段.確實好象沒有意義啊.
6 楼
hsw8208 [专家分:20] 发布于 2009-12-28 10:01:00
不是的,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条记录!
我来回复