我有以下表(每名是唯一的):如何将表格转换成另一种基于在SQL
表1:
+----+----------+----------------+----------------+----------------+----------------+
| id | workflow | tire1_approver | tire2_approver | tire3_approver | tire4_approver |
+----+----------+----------------+----------------+----------------+----------------+
| 1 | 1 | John | Mike | Tom | Kevin |
+----+----------+----------------+----------------+----------------+----------------+
| 2 | 2 | Mike | Andrew | An | Bob |
+----+----------+----------------+----------------+----------------+----------------+
我需要把它翻译如下表成一个人可以出现不止一次:
TABLE2:
+----+--------+----------------+-----------+----------------------+
| ID | Name | Position | Workflow | upper_level_approver |
+----+--------+----------------+-----------+----------------------+
| 1 | John | tire1_approver | 1 | Mike |
+----+--------+----------------+-----------+----------------------+
| 2 | Mike | tire2_approver | 1 | Tom |
+----+--------+----------------+-----------+----------------------+
| 3 | Tom | tire3_approver | 1 | Kevin |
+----+--------+----------------+-----------+----------------------+
| 4 | Kevin | tire4_approver | 1 | N/A |
+----+--------+----------------+-----------+----------------------+
| 5 | Mike | tire1_approver | 2 | Andrew |
+----+--------+----------------+-----------+----------------------+
| 6 | Andrew | tire2_approver | 2 | An |
+----+--------+----------------+-----------+----------------------+
| 7 | An | tire3_approver | 2 | Bob |
+----+--------+----------------+-----------+----------------------+
| 8 | Bob | tire4_approver | 2 | N/A |
+----+--------+----------------+-----------+----------------------+
我使用SQL开发人员,我甲肝E尝试循环和加入,但无法达到我想要的。
TABLE1和TABLE2都在数据库中, 最终我想将它存储在存储过程中,当前端对TABLE1进行更新时,它也调用此过程并自动更新TABLE2。
请帮助
这工作完美,谢谢! –
@LukeYang - 从这里得到的教训:请始终在您的所有帖子,这里和任何其他网站中包含您的Oracle版本。如您所见,该版本是任何解决方案中的关键细节。 – mathguy