表格转换
欲将如下相互表格转换:
表格一:
第一学期 第二学期
姓名 性别 语文 数学 语文 数学 音乐 .....
张三 男 85 70
李四 女 89 90
........
表格二:
姓名 性别 学期 科目 得分
张三 男 一 语文 85
张三 男 一 数学 70
张三 男 二 语文 85
张三 男 二 数学 70
李四 女 一 语文 89
李四 女 一 数学 90
李四 女 二 语文 89
李四 女 二 数学 90
应该如何处理?
谢谢
问题点数:100、回复次数:11Top
1 楼johnsuna(缘来是e)回复于 2004-12-03 22:38:32 得分 0
题意不大清楚Top
2 楼johnsuna(缘来是e)回复于 2004-12-03 22:39:17 得分 0
是做数据库处理还是将数据库中的记录进行显示转换的处理,还是其他?Top
3 楼sweet12345(幸福的狗狗)回复于 2004-12-03 22:56:47 得分 10
这个转换起来应该不难,不过都要用到中间变量,一个DataSet,比如把第一种格式转换为第二种:
先把第一种的数据读入DataSet,例如:
第一学期 第二学期
姓名 性别 语文 数学 语文 数学 音乐 .....
张三 男 85 70
然后做两个For循环:
For 学期1 TO 学期2
For 科目1 TO 科目n
张三 男 学期 科目 成绩
第二种转化为第一种差不多,只是把姓名作为PK键。
Top
4 楼yanransoft()回复于 2004-12-03 22:58:36 得分 0
两层for语句解决。Top
5 楼wpspw()回复于 2004-12-03 23:16:55 得分 0
不好意思,没说清楚,是用其中一张表生成另外一张表,反过来也一样
俺比较笨,能否麻烦把具体的SQL语句写出来,多谢Top
6 楼qixiao(七小)(Gadgets中文网http://www.gadgets.net.cn)回复于 2004-12-03 23:31:09 得分 10
表格一恐怕不是直接对应的一个表吧,我想应该是通过处理得到的
这个没有什么转换的,重要的是你的数据源,你数据库中是个什么结构,来分别实现不同样式的DataGridTop
7 楼wpspw()回复于 2004-12-04 00:08:30 得分 0
表格一是一张Excel表格,我想按表格二的格式导到另一张表格,然后再经过统计分析后重新处理后生成类似表格一的第三张表格Top
8 楼qixiao(七小)(Gadgets中文网http://www.gadgets.net.cn)回复于 2004-12-04 00:17:22 得分 0
你的第三张表格是什么?Excel?DataGrid?Top
9 楼wpspw()回复于 2004-12-04 00:23:07 得分 0
最好都是excelTop
10 楼wpspw()回复于 2004-12-05 09:16:28 得分 0
虽然问题很弱智,但还是要upTop
11 楼tengjian1981(新的一年又来到)回复于 2004-12-05 09:52:28 得分 80
这是第一个转换成第二个:
表格一:
第一学期 第二学期
Name Sex Yw1 Sx1 Yw2 Sx2 Yy2 .....
张三 男 85 70
李四 女 89 90
select Name,Sex,'一' as Xq,'语文' as Km,Yw1 as Df from Table1
union
select Name,Sex,'一' as Xq,'数学' as Km,Sx1 as Df from Table1
union
select Name,Sex,'二' as Xq,'语文' as Km,Yw2 as Df from Table1
union
select Name,Sex,'二' as Xq,'数学' as Km,Sx2 as Df from Table1
union
select Name,Sex,'二' as Xq,'音乐' as Km,Yy2 as Df from Table1
第二个转换成第一个时,就是生成交叉表了,你查询SQLServer的帮助,标题是"交叉数据报表";
要是字段数是动态的,就需要用游标了
Top




