| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1573 人关注过本帖
标题:表结构与换
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
列转行代码
程序代码:
clear all
create cursor t3 (学号 c(4),姓名 c(8),课目 c(10),成绩 n(3))
create cursor t1 (学号 c(4),姓名 c(8),数学 n(3),语文 n(3))
insert into t1 values ("1001","张三",102,120)
insert into t1 values ("1002","李四",119,108)
nzds=2 
scan
    scatter to azd
    for lnI=1 to fcount("t1")-nzds
        insert into t3 values (t1.学号,t1.姓名,field(lnI+nzds,"t1"),azd[lnI+nzds])
    endfor
endscan
select t3
browse

坚守VFP最后的阵地
2015-02-01 20:36
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:10 
程序代码:
Note 行转列
clear all
create cursor t2 (学号 c(4),姓名 c(8),课目 c(10),成绩 n(3))
insert into t2 values ("1001","张三","数学",102)
insert into t2 values ("1001","张三","语文",120)
insert into t2 values ("1002","李四","数学",119)
insert into t2 values ("1002","李四","语文",108)

select distinct 课目 from t2 into array ajg

* 创建临时表结构及索引
lcstr=""
for lnI=1 to alen(ajg,1)
    lcstr=lcstr+iif(empty(lcstr),"",",")+alltrim(ajg[lnI,1])+" N(3)"
endfor
create cursor t4 (学号 c(4),姓名 c(8),&lcstr)
index on 学号+姓名 tag xhxm
* 结束 *

* 数据处理
select t2
set relation to 学号+姓名 into "t4"
scan
    km=alltrim(t2.课目)
    if found("t4")
        replace (km) with t2.成绩 in "t4"
    else
        insert into t4 (学号,姓名,&km) values (t2.学号,t2.姓名,t2.成绩)
    endif
endscan
set relation to
select t4
browse

* 结束 *

坚守VFP最后的阵地
2015-02-01 20:38
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 13楼 tjdeming
能否应用就是你的事了,看不懂的地方自己研究帮助文件吧

坚守VFP最后的阵地
2015-02-01 20:41
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 

感谢SDTA 给出了行转列\列转行的代码 我会仔细阅读并加以应用 实在弄不懂再来求你解答.再一次谢谢!
2015-02-01 20:54
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
楼主,你确定你所有的科目名称都能作为字段名?
2015-02-02 09:02
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
回复 8楼 taifu945
不想下载 只是从楼主表述哪得点信息  不妥见谅
2015-02-02 09:28
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用tlliqi在2015-2-2 09:28:57的发言:

不想下载 只是从楼主表述哪得点信息  不妥见谅
其实我看了楼主的表述后,第一感觉和你的相同,所以赞同了你的观点。没想到他不是两个表都有的,是根据其中一个生成另一个。【汗】
2015-02-02 12:21
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
以下是引用taifu945在2015-2-2 09:02:39的发言:

楼主,你确定你所有的科目名称都能作为字段名?
想!
会碰到一些字段名数字、符号开头的、长度大于10 个字符的等情况,处理起来自然有一些烦。
2015-02-02 19:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用tjdeming在2015-1-30 22:06:52的发言:

有二张表3,表2,想表3换成表2,或表2换成表3.如何做到?谢谢!
没有去下载附件,单从字面上看,当然3楼是最简单的答案。但不知道楼主却有更深的需求。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2015-02-02 20:11
tjdeming
Rank: 2
等 级:论坛游民
帖 子:429
专家分:54
注 册:2013-3-4
收藏
得分:0 
回复 23楼 sdta
1.感谢!
2.能解决我的实际问题,命令语句我还要认真学习.
2015-02-02 20:22
快速回复:表结构与换
数据加载中...
 
   



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

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