表t1中列(number类型)中有数据
3,
5,
2。。。还有更多数据
要通过一个sql语句实现如下结果:
a rownum
--- ------------
3 1
3 2
3 3
5 1
5 2
5 3
5 4
5 5
2 1
2 2
也就是说,要按照列a的值n将该行数据展开成n行。实际上,这个问题和http://ningoo.itpub.net/post/2149/260758中的问题有相似之处,所以也可以用同样的思路来处理。
ID
----------
3
2
5
ID L
---------- ----------
3 1
3 2
3 3
2 1
2 2
5 1
5 2
5 3
5 4
5 5
10 rows selected.
利用connect by先构造出最大a值的一个连续序列,然后join原表得到最终结果。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50309/,如需转载,请注明出处,否则将追究法律责任。