Oracle横向纵向拆分字符串
前几天有个朋友问了个有趣的问题,Oracle里有没有类似这样的数据处理方式:
https://blog.csdn.net/dreamingfish2011/article/details/51250641
原始数据是这样的:
ID | type_flag | tags |
---|---|---|
10001 | 3 | 11_20_30,11_22_34,12_23_30,13_24_36 |
10002 | 2 | 11_20,11_22,12_23,13_24 |
10003 | 2 | 11,12 |
将原表横向和纵向扩展成如下形式:
ID | type_flag | tag1 | tag2 | tag3 |
---|---|---|---|---|
10001 | 3 | 11 | 20 | 30 |
10001 | 3 | 11 | 22 | 34 |
10001 | 3 | 12 | 23 | 30 |
10001 | 3 | 13 | 24 | 36 |
10002 | 2 | 11 | 20 | |
10002 | 2 | 11 | 22 | |
10002 | 2 | 12 | 23 | |
10002 | 2 | 13 | 24 | |
10003 | 2 | 11 | ||
10003 | 2 | 12 |
代码如下: