表数据如下:
ids id
3,4,6 5
23,24,26,27 28
想要使用一个sql,将ids拆分后查询到如下记录。请教如何实现。
ids id
3 5
4 5
6 5
23 28
24 28
26 28
27 28
------解决方案--------------------
select ids, id from(
select regexp_substr(ids, '[^,]+',1,lvl) ids, lvl, id from t,
(select level lvl from dual connect by
level < =(select max(length(regexp_replace(ids,'[^,]','')))+1 max_tokens from t))
) where ids is not null order by id, lvl;