orcle列转行的问题 急!!

问题描述

orcle列转行的问题 急!!

1 3944 0%
2 2681 47.11%
3 3231 -17.02%
4 3218 0.4%
5 2486 29.44%
6 2288 8.65%
7 3265 -29.92%
8 3099 5.36%
9 2253 37.55%
10 2889 -22.01%
11 3050 -5.28%
12 3902 -21.83%

数据库里有这么一堆数据

现在想让他变成这样横向排列

3944 2681 3231 3218 2486 。。。
0% 47.11% -17.02% 0.4% 29.44% 。。。

谢谢!!

解决方案

用case when可以实现

解决方案二:

decode()试试

解决方案三:

自己研究了一下午 终于解决了 我用union all一个个拼起来的

解决方案四:

这种属于交叉表系列, 参考我博客:
http://blog.csdn.net/yueliangdao0608/article/details/41478561

时间: 2024-10-20 11:49:55

orcle列转行的问题 急!!的相关文章

.net-sql列转行,求sql大神帮忙解决。

问题描述 sql列转行,求sql大神帮忙解决. 如题 姓名 部门 题目ID 题目答案 A 编辑部 1 tt A 编辑部 2 yy A 编辑部 3 hh B 测试部 1 tt B 测试部 3 cc 我想要这样的结果 姓名 部门 第一题 第二题 第三题 ...等 A 编辑部 tt yy hh B 测试部 tt NULL CC 解决方案 你的题目只有1,2,3还是不确定呢 解决方案二: SELECT distinct 姓名 ,部门 ,LEFT(UserList,LEN(UserList)-1) as

mssql 数据库表行转列,列转行终极方案

复制代码 代码如下: --行转列问题 --建立測試環境 Create Table TEST (DATES Varchar(6), EMPNO Varchar(5), STYPE Varchar(1), AMOUNT Int) --插入數據 Insert TEST Select '200605', '02436', 'A', 5 Union All Select '200605', '02436', 'B', 3 Union All Select '200605', '02436', 'C', 3

SQL中行转列和列转行

行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清晰,而且比较习惯. 但是PIVOT .UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单.更具可读性.下面我们通过几个简单的例子来介绍一下列转行.行转列问题. 我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列 CREATE TAB

重温SQL——行转列,列转行

行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清晰,而且比较习惯. 但是PIVOT .UNPIVOT提供的语法比一系列复杂的SELECT...CASE 语句中所指定的语法更简单.更具可读性.下面我们通过几个简单的例子来介绍一下列转行.行转列问题. 我们首先先通过一个老生常谈的例子,学生成绩表(下面简化了些)来形象了解下行转列  CREATE TA

ado.net-求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写

问题描述 求一个无参数 调用存储过程的方法,我调用的是列转行的存储过程 但是访问数据库的方法不知道怎么写 访问数据不知道写 存储过程已经写好 解决方案 prepareCall()方法调用存储过程 解决方案二: use 数据库名称 这不是方法 解决方案三: use 数据库名称 用这个语句就能指向数据库 解决方案四: exec 存储过程名称

SQL 列转行、行转列

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 一.行转列   create TAble TA (NAME    varchar(10) ,SUBJECT varchar(10) ,RESULT  int)    insert into TA(NAME , SUBJECT , RESULT) values('张三' , '语文' , 74) insert into TA(NAME , SUBJECT , RESULT)

SQL行转列和列转行代码详解

行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和总结过.为了加深认识,再总结一次. 行列互转,可以分为静态互转,即事先就知道要处理多少行(列);动态互转,事先不知道处理多少行(列). --创建测试环境 USE tempdb; GO IF OBJECT_ID('dbo.Orders') IS NOT NULL DROP TABLE dbo.Orde

表格列转行

需求: 将"11,21,31$12,22,32$13,23,33$14,24,34"; 转换为:"11,12,13,14$21,22,23,24$31,32,33,34"; 分析: 其实就是如下的表格的列转行: 11,21,3112,22,3213,23,3314,24.34... ...   11,12,13,14,1...21,22,23,24,2...31,32,33,34,3...... ... 思路:将所有元素列出来,取定长间隔的元素即可,实现代码: us

kettle列转行-kettle如何用工具实现行转列列转行的详细操作

问题描述 kettle如何用工具实现行转列列转行的详细操作