Я пытаюсь создать таблицу данных для использования в отчетах Yellowfin BI. Одним из ограничений является то, что никакие временные таблицы не могут быть созданы и затем удалены в базе данных. Я извлекаю данные из существующей базы данных, которую я не могу контролировать. Я могу использовать только SQL для запроса существующих данных.
В исходной базе данных есть две таблицы, с которыми мне нужно работать. Я упростил их для ясности. Первый содержит организации. Он имеет столбец ORG_ID, который содержит уникальный идентификатор для каждой организации и столбец PARENT_ORG_ID, указывающий, какая организация является родительской компанией для других в списке:
ORG_ID PARENT_ORG_ID
1 Null
2 1
3 5
4 5
5 Null
6 1
Используя приведенную выше таблицу, я вижу, что есть следующие отношения между организациями:
ORG_ID RELATED_ORGANISATIONS
1 2 and 6
2 1 and 6
3 5 and 4
4 5 and 3
5 4 and 3
6 1 and 2
Я не уверен, что лучший способ представить эти соединения в запросе, так как мне нужно использовать эти отношения со второй таблицей.
Вторая таблица У меня есть список организаций и причитающихся денег:
ORG_ID MONEY_OWED
1 5
2 10
3 0
4 15
5 20
6 5
Мне нужно получить таблицу, в которой я могу найти любой ORG_ID и просмотреть объединенные данные для этой Организации и всех связанных с ней организаций. В моем примере это может быть таблица результатов, например, такая:
ORG_ID MONEY_OWED_BY_ALL_RELATED_ORGS
1 20
2 20
3 35
4 35
5 35
6 20
Я думаю, что мне следует использовать CTE для управления отношениями между организациями, но я не могу разобраться в этом. Это.
Любая помощь будет принята с благодарностью!