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

解决方案 »

  1.   


    http://bbs.csdn.net/topics/390633707
    9#
      

  2.   

    11g的话,level后面可以用regexp_count代替不过我在想,如果数据量很大的话,有性能问题啊
      

  3.   


    distinct  确实表达式
      

  4.   


    distinct缺失表达式,再说  id , name 都是可以重复的
      

  5.   


    distinct缺失表达式,再说  id , name 都是可以重复的
    distinct的语法是放在select后面,人家写错了,你得有主观判断啊
      

  6.   


    distinct缺失表达式,再说  id , name 都是可以重复的 sorry id是写完后再家的 没注意到 不管是用上面的 还是用游标循环拆分 大数据的话 效率肯定都不会太快 如果数据能大到一定程度 那只能说明 这表没设计好