有一下数据:DataId Data_Number_1 DataType CreateTime
1 13.2 1 2013/1/1
2 14 2 2013/1/1
3 15 3 2013/1/1
把以上三条记录转化成一下一条:
CreateTime DataId1 DataId2 DataId3 Data_Number_1 Data_Number_2 Data_Number_3 DataType1 DataType2 DataType3
2013/1/1 1 2 3 13.2 14 15 1 2 3
请问sql语句怎么写?谢谢。
1 13.2 1 2013/1/1
2 14 2 2013/1/1
3 15 3 2013/1/1
把以上三条记录转化成一下一条:
CreateTime DataId1 DataId2 DataId3 Data_Number_1 Data_Number_2 Data_Number_3 DataType1 DataType2 DataType3
2013/1/1 1 2 3 13.2 14 15 1 2 3
请问sql语句怎么写?谢谢。
解决方案 »
- 求解一个行列合并问题
- 请问ORACLE 数据库 有按照模糊表名来查询统计的命令么?
- Oracle触发器生成订单号,编译错误。解决者追加分数。
- update的高级用法疑问
- 手动创建数据库的时候报错,结果导致整个ORACEL进程全部关闭 (linux系统下,oracle11g)
- 请教几个基础的问题.
- 超级头疼,用jdbc:oracle:thin的方式连接oracle,数据库编码WE8DEC,本地nls_lang=WE8DEC,取出来始终是乱码!!
- 在oracle中怎樣得到給定日期當前週的其實時間和結束時間?
- utl_file.fopen('C:\','test.txt','R')时出错:utl_file.invalid_path ,数据库端的C:\test.txt文件存在,UTL_FILE_DIR = "C:\"已添加.弱
- oracle中使用sql语句查询 报表工具使用的是finereport
- 有没有现成的工具实现数据库缓存?
- with as语句性能求优化
http://bbs.csdn.net/topics/330039676
直接调用这个过程就可
create table TEST
(
DATAID VARCHAR2(8) not null,
DATA_NUMBER VARCHAR2(8),
DATATYPE VARCHAR2(8),
CREATETIME DATE
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table TEST
is '行列互转测试表';
-- Create/Recreate primary, unique and foreign key constraints
alter table TEST
add constraint PK_DATAID primary key (DATAID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
SELECT CREATETIME, WMSYS.WM_CONCAT(RESULT) FROM (
SELECT T.CREATETIME, WMSYS.WM_CONCAT (T.DATAID) AS RESULT
FROM TEST T
GROUP BY T.CREATETIME
UNION ALL
SELECT T.CREATETIME, WMSYS.WM_CONCAT (T.DATA_NUMBER) AS RESULT
FROM TEST T
GROUP BY T.CREATETIME
UNION ALL
SELECT T.CREATETIME, WMSYS.WM_CONCAT (T.DATATYPE) AS RESULT
FROM TEST T
GROUP BY T.CREATETIME
)
GROUP BY CREATETIME;