谁帮忙写一个SQL语句,正则,行转列

pqbgood 2013-12-12 03:24:57
表document里的数据:

id name
1 a
2 b,c
3 a,b,c,d
4 b,c
. .
. .
. .

SQL语句查出的结果
1 a
2 b
2 c
3 a
3 b
3 c
3 d
4 b
4 c


name中的“,”的个数不确定。。。
多谢!
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 pqbgood 的回复:
[quote=引用 1 楼 HJ_daxian 的回复:]

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1
distinct缺失表达式,再说 id , name 都是可以重复的[/quote] sorry id是写完后再家的 没注意到 不管是用上面的 还是用游标循环拆分 大数据的话 效率肯定都不会太快 如果数据能大到一定程度 那只能说明 这表没设计好
大话EPM 2013-12-12
  • 打赏
  • 举报
回复
引用 5 楼 pqbgood 的回复:
[quote=引用 1 楼 HJ_daxian 的回复:]

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1
distinct缺失表达式,再说 id , name 都是可以重复的[/quote] distinct的语法是放在select后面,人家写错了,你得有主观判断啊
pqbgood 2013-12-12
  • 打赏
  • 举报
回复
引用 1 楼 HJ_daxian 的回复:

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1
distinct缺失表达式,再说 id , name 都是可以重复的
pqbgood 2013-12-12
  • 打赏
  • 举报
回复
引用 1 楼 HJ_daxian 的回复:

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1
distinct 确实表达式
大话EPM 2013-12-12
  • 打赏
  • 举报
回复
引用 1 楼 HJ_daxian 的回复:

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1
11g的话,level后面可以用regexp_count代替 不过我在想,如果数据量很大的话,有性能问题啊
CT_LXL 2013-12-12
  • 打赏
  • 举报
回复
引用 楼主 pqbgood 的回复:
表document里的数据: id name 1 a 2 b,c 3 a,b,c,d 4 b,c . . . . . . SQL语句查出的结果 1 a 2 b 2 c 3 a 3 b 3 c 3 d 4 b 4 c name中的“,”的个数不确定。。。 多谢!
http://bbs.csdn.net/topics/390633707 9#
  • 打赏
  • 举报
回复

select id,distinct regexp_substr(name, '[^,]+',1,level) name
from document
connect by level <= length(name) - length(replace(name,',','')) + 1

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧