| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 895 人关注过本帖
标题:请教,如何编程(VFP)把表1变成表2
只看楼主 加入收藏
thomasou
Rank: 1
等 级:新手上路
帖 子:67
专家分:3
注 册:2010-8-15
结帖率:30%
收藏
已结贴  问题点数:20 回复次数:10 
请教,如何编程(VFP)把表1变成表2
请教高手,如何编程(VFP)把表1变成表2,谢谢。
表1
姓名        产量
李明 2010    8   200                                 
李明 2010    9   200                                          
张三 2010    8   300                                    
张三 2010    9   400                                          
张三 2010    10  500                                             
张三 2010    11  600                                               
张三 2010    12  700                                                           
张三 2011    1   800
张三 2011    2   900

表2
姓名         1    2    3    4    5    6     7    8    9    10    11   12  
李明 2010                                            200  200
张三 2010                                            300  400  500    600  700
张三 2011        800   900   
   
搜索更多相关主题的帖子: VFP 
2010-09-17 13:44
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
用交叉表

[ 本帖最后由 tlliqi 于 2010-9-17 14:25 编辑 ]
2010-09-17 14:17
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:16 
*!*    姓名        产量
*!*    李明 2010    8   200
*!*    李明 2010    9   200
*!*    张三 2010    8   300
*!*    张三 2010    9   400
*!*    张三 2010    10  500
*!*    张三 2010    11  600
*!*    张三 2010    12  700
*!*    张三 2011    1   800
*!*    张三 2011    2   900

*!*    表2
*!*    姓名         1    2    3    4    5    6     7    8    9    10    11   12
*!*    李明 2010                                            200  200
*!*    张三 2010                                            300  400  500    600  700
*!*    张三 2011        800   900
CLOSE ALL
CREATE CURSOR tmp (姓名 c(8),年 n(4),月 n(2),产量 n(6))
INSERT INTO tmp VALUES ('李明',2010, 8,200)
INSERT INTO tmp VALUES ('李明',2010, 9,200)
INSERT INTO tmp VALUES ('张三',2010, 8,300)
INSERT INTO tmp VALUES ('张三',2010, 9,400)
INSERT INTO tmp VALUES ('张三',2010,10,500)
INSERT INTO tmp VALUES ('张三',2010,11,600)
INSERT INTO tmp VALUES ('张三',2010,12,700)
INSERT INTO tmp VALUES ('张三',2011, 1,800)
INSERT INTO tmp VALUES ('张三',2011, 2,900)
SET ENGINEBEHAVIOR  70
SELECT 姓名,年,;
  SUM(iIF(月=1,产量,0)) m01,;
  SUM(IIF(月=2,产量,0)) m02,;
  SUM(IIF(月=3,产量,0)) m03,;
  SUM(IIF(月=4,产量,0)) m04,;
  SUM(IIF(月=5,产量,0)) m05,;
  SUM(IIF(月=6,产量,0)) m06,;
  SUM(IIF(月=7,产量,0)) m07,;
  SUM(IIF(月=8,产量,0)) m08,;
  SUM(IIF(月=9,产量,0)) m09,;
  SUM(IIF(月=10,产量,0)) m10,;
  SUM(IIF(月=11,产量,0)) m11,;
  SUM(IIF(月=12,产量,0)) m12;
  FROM tmp;
  GROUP BY 1,2

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-09-17 17:00
thomasou
Rank: 1
等 级:新手上路
帖 子:67
专家分:3
注 册:2010-8-15
收藏
得分:0 
Tiger5392先生:您好,谢谢您的指导。问题解决得很是漂亮。
在运行程序时,没有使用这句—“SET ENGINEBEHAVIOR  70”,同样可以运行。
俺在请教一个问题,如果在表2的最后加一个合计字段(ntotal),
如果不使用 repl ntotal with ms01+ms02+........ms12, 该如何调整程序?谢谢。
2010-09-17 21:13
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:4 
回复 4楼 thomasou
SELECT 姓名,年,;
  SUM(iIF(月=1,产量,0)) m01,;
  SUM(IIF(月=2,产量,0)) m02,;
  SUM(IIF(月=3,产量,0)) m03,;
  SUM(IIF(月=4,产量,0)) m04,;
  SUM(IIF(月=5,产量,0)) m05,;
  SUM(IIF(月=6,产量,0)) m06,;
  SUM(IIF(月=7,产量,0)) m07,;
  SUM(IIF(月=8,产量,0)) m08,;
  SUM(IIF(月=9,产量,0)) m09,;
  SUM(IIF(月=10,产量,0)) m10,;
  SUM(IIF(月=11,产量,0)) m11,;
  SUM(IIF(月=12,产量,0)) m12,;
  SUM(产量) ntotal;
  FROM b;
  GROUP BY 1,2
2010-09-17 21:25
thomasou
Rank: 1
等 级:新手上路
帖 子:67
专家分:3
注 册:2010-8-15
收藏
得分:0 
谢谢5楼高手指点,谢谢。
2010-09-17 21:41
thomasou
Rank: 1
等 级:新手上路
帖 子:67
专家分:3
注 册:2010-8-15
收藏
得分:0 
请教,“SET ENGINEBEHAVIOR  70”, 在VFP6.0运行时,没法走过,但不用它是程序也能运行,请问有影响效果吗?它在程序中的作用是什么呢?谢谢。
2010-09-18 09:17
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
那句用于VFP9,没有的话就运行不通过;你要是VFP6的话,有就不能运行,去掉

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-09-18 11:07
thomasou
Rank: 1
等 级:新手上路
帖 子:67
专家分:3
注 册:2010-8-15
收藏
得分:0 
谢谢8楼老师指点。俺也发现有些group by 句,在VFP6可以通过,但在VFP9 通不过了,跟那句的情况一样吗?谢谢、
2010-09-18 15:25
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
Yes

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2010-09-21 20:14
快速回复:请教,如何编程(VFP)把表1变成表2
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048425 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved