【发布时间】:2019-06-25 11:14:36
【问题描述】:
我有一个表 t1,其中包含以下内容:(数百万行)
ID ID_1 ID_2 ID_3 ID_4
---------------------------------
1 10 11 12 13
2 14 15 16 17
3 18 19 20 21
我需要将这些数据插入到另一个表 t2 中,如下所示:
ID ID_X
------------
1 10
1 11
1 12
1 13
2 14
2 15
2 16
2 17
3 18
3 19
3 20
3 21
我已经使用 LOOPs 和 cursors 完成了我需要的操作,但我需要使用单个插入来完成它以获得更好的性能。
有什么想法吗?
编辑:
感谢回复,我使用 UNPIVOT 实现了我所需要的。
现在我需要向 t2 表中添加一个增量列,如下所示:
ID ID_X ID_Y
----------------------
1 10 0
1 11 200
1 12 400
1 13 600
2 14 0
2 15 200
2 16 400
2 17 600
3 18 0
3 19 200
3 20 400
3 21 600
【问题讨论】:
-
假设您使用的是 11g 或更高版本,您所追求的是 UNPIVOT
-
一旦问题得到回答,请不要在问题上编辑额外的内容。相反,您应该提出一个新问题来涵盖新问题。