比如字段: id str
1 1,2,3,4,5,要取得这样的结果集:
str
1
2
3
4
5
1 1,2,3,4,5,要取得这样的结果集:
str
1
2
3
4
5
解决方案 »
- 把另一台机的硬盘上oracle整个目录都copy到我本机上,两台机都装的是oracle9i,现在我想在我本机上恢复那台机的数据,请问有什么方法?
- 一条比较难实现的SQL,高手帮帮忙呀!
- 散分!在线等!
- 用JDBC-ODBC连接Oracle的问题
- ORA-04031:无法分配4096字节的共享内存("shared pool
- toad与plsql导出oracle表的问题
- 释放表空间
- 求助一SQLSERVER中的SQL语句在ORACLE中怎样实现。
- 请教数据文件移动问题.
- ORACLE817的Net8 Configuration Assistant没反应!!咋整????
- 服务器的硬盘能分区吗?
- 请教一个表设计的问题
Name Null? Type
----------------------------------------------------------------------------------- -------- ------
NAME VARCHAR2(20)
COURSE VARCHAR2(40)crm@zhang>select * from test1;NAME COURSE
-------------------- ----------------------------------------
张三 数学,语文,英语
李四 计算机
王五 体育,计算机,大学物理,邓小平理论
赵一 大学物理
陈七 大学物理,C语言crm@zhang>select * from (
2 select name, (case when num=1 then course else
3 substr(course, decode(rownum-rnum, 0, 0, instr(course, ',', 1, rownum-rnum))+1,
4 decode(instr(course, ',', 1, rownum+1-rnum), 0, length(course)+1, instr(cou
rse, ',', 1, rownum+1-rnum))-decode(rownum-rnum, 0, 0, instr(course, ',', 1, rownum-rnum))-1) end) c
c
5 from (
6 select name, course, num, decode(num, 1, sum(num) over(order by rowid), sum(num) over(order by
rowid)-num+1) rnum from (
7 select name, course, length(course)-length(replace(course, ',', ''))+1 num from zhang.test1
8 )
9 )
10 connect by rownum-rnum<num
11 )
12 where rownum<12;NAME CC
-------------------- -------------------------------------------------------------------------------
张三 数学
张三 语文
张三 英语
李四 计算机
王五 体育
王五 计算机
王五 大学物理
王五 邓小平理论
赵一 大学物理
陈七 大学物理
陈七 C语言
select name, (case when num=1 then course else
substr(course, decode(rownum-rnum, 0, 0, instr(course, ',', 1, rownum-rnum))+1,
decode(instr(course, ',', 1, rownum+1-rnum), 0, length(course)+1, instr(course, ',', 1, rownum+1-rnum))-decode(rownum-rnum, 0, 0, instr(course, ',', 1, rownum-rnum))-1) end) cc
from (
select name, course, num, decode(num, 1, sum(num) over(order by rowid), sum(num) over(order by rowid)-num+1) rnum from (
select name, course, length(course)-length(replace(course, ',', ''))+1 num from zhang.test1
)
)
connect by rownum-rnum<num
)
where rownum<12