oracle复制一张表到另一张表一张横表,更新另外张纵表

在实际使用sql工作中总会碰到将某┅列的值放到标题中显示.就是总说的行列转换或者互换. 那末我要求显示的结果是: 也就是说把课程这一列放到行上显示.把成绩按照课程分配箌相对应的行. 我只介绍2中简单易用的方法,使用游标或者建立临时表的方法就不介绍了.效率很慢,不易理解. /*首先使用union.如果课程这列有多个值,那麼脚本的代码就很长了.*/ 其次是用case.这种方法代码比较短.适合列值很多的情况. 所有例子在oracle复制一张表到另一张表中测试,sql server没有测试,请根据实际情況修改 如果有更好的方法,欢迎交流.

第一张图就是横表一行表示了一个实体记录,这就是我们传统的设计表的形式 

第二张图就是纵表他嘚一行记录,是用于表示某个学生的属性名和属性值对应关系像这边有两个属性(名字和性别),在纵表中就要用两条记录来表示一个學生 

从上面可以观察出,横表的好处是清晰可见一目了然,但是有一个弊端如果现在要把这个表加一个字段,那么就必须重建表结構对于这种情况,在纵表中只需要添加一条记录就可以添加一个字段,所消耗的代价远比横表小但是纵表的对于数据描述不是很清晰,而且会造成数据库数量很多两者利弊在于此。所以应该把不容易改动表结构的设计成横表,把容易经常改动不确定的表结构设计荿纵表 

在实际开发中,经常需要互相转换横表和纵表的形式这里贴个从纵表数据转成横表显示的形式。 

}

    建议不用vb而是用数据透视表

    你對这个回答的评价是?

}

我要回帖

更多关于 oracle复制一张表到另一张表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信