请教,如何把竖表变横表并求合计及小计?

自由的风范 2011-07-17 09:44:20
请教各位老师,如何把以下的abc表,通过编程,变成abd 表,并求合计及小计,谢谢。

CLOSE ALL
CLEAR
SET SAFETY off
CREATE table abc (姓名 c(10), 代码 c(14),数值 n(9,2))
INSERT INTO abc VALUES ( "amy","0101", 1250)
INSERT INTO abc VALUES ("amy","0101L", 250)
INSERT INTO abc VALUES ("amy","0101P", 52)
INSERT INTO abc VALUES ("amy","0101PL", 12)
INSERT INTO abc VALUES ("tony","0101", 1500)
INSERT INTO abc VALUES ("tony","0101L", 260)
INSERT INTO abc VALUES ("tony","0101P", 50)
INSERT INTO abc VALUES ("tony","0101PL", 11)
INSERT INTO abc VALUES ("cici","0401", 900)
INSERT INTO abc VALUES ("cici ","0401L", 300)
INSERT INTO abc VALUES ("cici","0401P", 45)
INSERT INTO abc VALUES ("cici", "0401PL", 15)
INSERT INTO abc VALUES ("mimi", "0401", 800)
INSERT INTO abc VALUES ("mimi","0401L", 200)
INSERT INTO abc VALUES ("mimi", "0401P", 40)
INSERT INTO abc VALUES ("mimi","0401PL", 13)

BROWSE

*abd 表
姓名 0101 0101L 0101P 0101PL 0401 0401L 0401P 0401PL 合计
amy 1250 250 52 12 1564
tony 1500 260 50 11 1821
cici 900 300 45 15 1260
mimi 800 200 40 13 1053
小计 2750 510 102 23 1700 500 85 28 5698
...全文
219 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由的风范 2011-07-20
  • 打赏
  • 举报
回复
效果很好,感谢wwwwa老师指导。
WWWWA 2011-07-19
  • 打赏
  • 举报
回复
Sum(IIF(代码='0101',1000000.00,000000000.00)) As a0101
自由的风范 2011-07-18
  • 打赏
  • 举报
回复
感谢wwwwb老师指导,运用这句Sum(IIF(代码='0101',1,0)) As a0101,;的指导进行修改,获得了成功,得到的结果是整数。如果想获得的结果是小数点后两位,如果设置代码,请您再指导,谢谢。
jxjdzwang5555 2011-07-18
  • 打赏
  • 举报
回复
姓名 C_0101 C_0101l C_0101p C_0101pl C_0401 C_0401l C_0401p C_0401pl
amy 1250.00 250.00 52.00 12.00 0.00 0.00 0.00 0.00
cici 0.00 0.00 0.00 0.00 900.00 300.00 45.00 15.00
mimi 0.00 0.00 0.00 0.00 800.00 200.00 40.00 13.00
tony 1500.00 260.00 50.00 11.00 0.00 0.00 0.00 0.00
我不知道vfp安装目录下的vfpxtab.prg源码的意义,我只会使用vfpxtab.prg。
wwwwb 2011-07-18
  • 打赏
  • 举报
回复
这个问题似乎原来问过,动态交叉表
自由的风范 2011-07-18
  • 打赏
  • 举报
回复
cici和mimi的数据应该在0401、0401L、0401P、0401PL之下的。
wwwwb 2011-07-18
  • 打赏
  • 举报
回复
Sum(IIF(代码='0101',1,0)) As a0101,;其它自行修改
自由的风范 2011-07-18
  • 打赏
  • 举报
回复
wwwwb老师,您好,如果用下面一段代码,走不过去,请您指导,谢谢。

Select 姓名,;
Sum(IIF(代码=0101,1,0)) As 0101,;
Sum(Iif(代码=0101L,1,0)) As 0101L,;
Sum(Iif(代码=0101P,1,0)) As 0101P,;
Sum(Iif(代码=0101PL,1,0)) As 0101PL,;
Sum(Iif(代码=0401,1,0)) As 0401,;
Sum(Iif(代码=0401L,1,0)) As 0401L,;
Sum(Iif(代码=0401P,1,0)) As 0401P,;
Sum(Iif(代码=0401PL,1,0)) As 0401PL,;
0000000000 As 合计 Into Table 结果表;
From abc Group By 姓名
jxjdzwang5555 2011-07-18
  • 打赏
  • 举报
回复
???
do vfpxtab.prg
自由的风范 2011-07-18
  • 打赏
  • 举报
回复
请问jxjdzwang5555老师,如何使用vfpxtab.prg?

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧