У меня есть таблица, содержащая историю идентификаторов клиентов, которые были объединены в нашу систему CRM. Данные в схеме Oracle исторической отчетности существуют в том виде, в каком они были на момент создания записей взаимодействия. Мне нужен способ найти текущий идентификатор, связанный с клиентом, из потенциально старого идентификатора. Чтобы сделать это немного более интересным, у меня нет разрешений на создание PL/SQL для этого, я могу только создавать операторы Select для этих данных.
Пример данных в таблице клиентов ID_MERGE_HIST
| OLD_ID | NEW_ID |
+----------+----------+
| 44678368 | 47306920 |
| 47306920 | 48352231 |
| 48352231 | 48780326 |
| 48780326 | 50044190 |
Пример таблицы взаимодействия
| INTERACTION_ID | CUST_ID |
+----------------+----------+
| 1 | 44678368 |
| 2 | 48352231 |
| 3 | 80044190 |
Я хотел бы, чтобы запрос с рекурсивным подзапросом предоставлял набор результатов, который выглядит следующим образом:
| INTERACTION_ID | CUST_ID | CUR_CUST_ID |
+----------------+----------+-------------+
| 1 | 44678368 | 50044190 |
| 2 | 48352231 | 50044190 |
| 3 | 80044190 | 80044190 |
Примечание. Cust_ID 80044190 никогда не объединялся, поэтому он не отображается в таблице ID_MERGE_HIST.
Любая помощь будет принята с благодарностью.