создание таблицы фактов из реляционной базы данных - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь получить записи таблицы фактов из реляционной БД с 1 родительской и 4 дочерними таблицами.

Это необходимо для решения Datamart for BI.

Текущее решение - это оператор SELECT с четырьмя левыми внешними объединениями. Если бы я должен был сделать четыре оператора выбора независимо, у меня была бы следующая информация:

Основная таблица: 786 записей
При Таблице и Tbl1: 7055 записей
При Таблице и Tbl2: 1227 записей
При Таблице и Tbl3: 18903 записей
При Таблице и Tbl4: 786 записей (1-1 отношение)

, но с первым левым внешним соединением Tbl1 левым внешним соединением Tbl2 левым внешним соединением Tbl3 левым внешним соединением Tbl4: более 9,5 миллионов записей.

Это правильный способ сделать это? 9,5 млн. правильных результатов в этом случае? Спасибо

Код здесь:

SELECT TBL1.TBL1_ID, TBL1.DT, TBL1.FRM_ID, TBL2.TBL2_ID, TBL3.TBL3_ID, 
TBL3.CITY, TBL3.ST, TBL3.ZIP, TBL3.CTRY, 
TBL1.FRMT_TYP, TBL4.AMT, TBL4.COUNTIN,
TBL4.COUNTOUT, TBL4.AMT2, TBL4.LOCATION_ID, TBL5.AMTTOCUSTR, TBL1.END_DATE
FROM SCHEMA.TBL1
LEFT OUTER JOIN SCHEMA.TBL2 ON TBL2.TBL1_ID=TBL1.TBL1_ID
LEFT OUTER JOIN SCHEMA.TBL3 ON TBL3.TBL1_ID = TBL1.TBL1_ID
LEFT OUTER JOIN SCHEMA.TBL4 ON TBL4.TBL1_ID = TBL1.TBL1_ID
LEFT OUTER JOIN SCHEMA.TBL5 ON TBL5.TBL1_ID = TBL1.TBL1_ID
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...