表内容如下:
井号 汇报日期 工作情况
A 2011-1-1 良好1
A 2011-1-2 良好2
A 2011-1-3 良好3
B 2011-1-4 良好4
B 2011-1-5 良好5
A 2011-1-6 良好6想通过一SQL语句得到如下表
井号 工作情况
A 2011-1-1良好1,2011-1-2良好2,2011-1-3良好3,2011-1-6良好6
B 2911-1-4良好4,2011-1-5良好5最好是一条语句就能查询出来,不需要些额外的自定义函数啥的,因为我没有权利操作别人的数据库,只能查询。
井号 汇报日期 工作情况
A 2011-1-1 良好1
A 2011-1-2 良好2
A 2011-1-3 良好3
B 2011-1-4 良好4
B 2011-1-5 良好5
A 2011-1-6 良好6想通过一SQL语句得到如下表
井号 工作情况
A 2011-1-1良好1,2011-1-2良好2,2011-1-3良好3,2011-1-6良好6
B 2911-1-4良好4,2011-1-5良好5最好是一条语句就能查询出来,不需要些额外的自定义函数啥的,因为我没有权利操作别人的数据库,只能查询。
解决方案 »
- 求教oracle 11g ORA-12154: TNS: 无法解析指定的连接标识符
- 帮忙看一下我的sql语句错在哪了。
- 关于oracle中定义Record的清空问题
- 怎么用pl/sql来读取csv文件
- 请教 proc 问题, 执行 EXEC SQL select * from XXX ,oracle 会报 2112 错误: SELECT..INTO returns too many rows
- 百分求一句SQL语句,懂的人应该很简单
- 一个关于创建控制文件的问题?成功马上散分
- 刚刚开始用orcale碰到个问题ora-12518是什么错误啊??
- 急问触发器问题,在线等待!
- 关于存储过程的怪事.通过存储过程insert的记录刷新一下就没了.
- 64位Win7的操作系统可以安装Oracle 10gR2吗?
- 关于replace函数 同时替换两个值如何操作
--id:井号,rdate:汇报日期,status:工作情况
select id "井号",wmsys.wm_concat(rdate||status) from tablename "工作情况"
group by id;
select 'A' 井号,'2011-1-1' 汇报日期,'良好1' 工作情况 from dual
union all
select 'A','2011-1-2','良好2' from dual
union all
select 'A','2011-1-3','良好3' from dual
union all
select 'B','2011-1-4','良好4' from dual
union all
select 'B','2011-1-5','良好5' from dual
union all
select 'A','2011-1-6','良好6' from dual
)select 井号,wm_concat(汇报日期||工作情况) from t group by 井号
A 2011-1-1良好1,2011-1-2良好2,2011-1-6良好6,2011-1-3良好3
B 2011-1-4良好4,2011-1-5良好5
--wm_concat()字符串连接函数使用:10g,11g
SQL> with t as(
2 select 'A' 井号,'2011-1-1' 汇报日期,'良好1' 工作情况 from dual union all
3 select 'A','2011-1-2','良好2' from dual union all
4 select 'A','2011-1-3','良好3' from dual union all
5 select 'B','2011-1-4','良好4' from dual union all
6 select 'B','2011-1-5','良好5' from dual union all
7 select 'A','2011-1-6','良好6' from dual)
8 select 井号,wm_concat(汇报日期||工作情况) 工作情况
9 from t
10 group by 井号
11 /井号 工作情况
---- --------------------------------------------------------------------------------
A 2011-1-1良好1,2011-1-2良好2,2011-1-6良好6,2011-1-3良好3
B 2011-1-4良好4,2011-1-5良好5
oracle wmsys.wm_concat函数
from (
select 井号,
wm_concat(汇报日期||工作情况)over(partition by 井号 order by 汇报日期) 工作情况
from t
)
group by 井号