2016 - 2024

感恩一路有你

oracle竖表转横表 求教:oracle数据库中怎么样能将一个纵表变成横表?

浏览量:2848 时间:2021-03-11 01:33:15 作者:admin

求教:oracle数据库中怎么样能将一个纵表变成横表?

一般行列转置,有两种做法 一种是case,但是由于case需要提前知道列数,所以在很多情况下不能满足 所以出现了动态语句case,通过动态SQL语句的组装,实现了动态的列的拼装。但是语句复杂度很高 所以另一种方式就是靠程序转置,使用一些Hash(JAVA)或Dictionary(C#)等一些对象,可以在程序中轻松地做出转置,但是也有缺点,缺点就是开销大,原本只处理一次的数据(只在数据库处理),现在需要处理两次(数据库一次,程序一次)

SQL如何进行纵表转横表?

SELECT 姓名,"数学"=MAX(CASE 课程 WHEN "数学" THEN 分数 ELSE 0 END),"语文"=MAX(CASE 课程 WHEN "语文" THEN 分数 ELSE 0 END) ,"英语"=MAX(CASE 课程 WHEN "英语" THEN 分数 ELSE 0 END) FROM TB GROUP BY 姓名 --或者 SELECT 姓名, ,"数学"=SUM(CASE 课程 WHEN "数学" THEN 分数 ELSE 0 END),"语文"=SUM(CASE 课程 WHEN "语文" THEN 分数 ELSE 0 END) ,"英语"=SUM(CASE 课程 WHEN "英语" THEN 分数 ELSE 0 END) FROM TB GROUP BY 姓名

SQL如何进行纵表转横表?

因为你没写commit用sqlplus那必须写提交命令,才算真正向数据库提交数据。当前主流应用还是使用pl/sql,支持command命令窗口,即包含了sqlplus界面的窗口。

oracle竖表转横表 sql竖表转横表 数据库横表和纵表的区别

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。