当前位置: 代码迷 >> Oracle管理 >> sql 编写,该如何处理
  详细解决方案

sql 编写,该如何处理

热度:423   发布时间:2016-04-24 06:19:25.0
sql 编写
SQL code
                 create table gxg (sid int,var varchar(400));insert into gxg select 104,'1a,2a,3a,'union allselect 105,'1b,2b,3b,'union allselect 106,'1c,'union allselect 107,'';--我想要的结果是:104,1a,1104,2a,2104,3a,3105,1b,1105,2b,2105,3b,3106,1c,1107,,1


------解决方案--------------------
SQL code
SELECT   *    FROM (SELECT SID, REGEXP_SUBSTR (var, '[^,]+', 1, d.l) var, l            FROM gxg g,                 (SELECT     LEVEL l                        FROM DUAL                  CONNECT BY LEVEL < 10) d           WHERE REGEXP_SUBSTR (var, '[^,]+', 1, d.l) IS NOT NULL          UNION ALL          SELECT SID, NULL var, 1 l            FROM gxg           WHERE var IS NULL)ORDER BY SID, l
  相关解决方案