有表 student 和 course 。student中有course_ids。 现要把 course_ids 换成 course_names。

   Select s.*, (
            Select wm_concat(c.name)
            From course c
            Where c.id in (
                    SELECT REGEXP_SUBSTR(s.course_ids, '[^,]+', 1, LEVEL, 'i') AS d_ids  
                    FROM DUAL  
                    CONNECT BY LEVEL <= LENGTH(s.course_ids) - LENGTH(REGEXP_REPLACE(s.course_ids, ',', ''))+1)
                    
                    )
            )
    From student s

posted @ 2018-05-04 16:09  抠脚大汉在抠脚  阅读(134)  评论(0编辑  收藏  举报