我试图从具有1个父表和4个子表的关系数据库中获取事实表记录。
这是用于BI解决方案的数据集市。
当前解决方案是一个带有四个Left Outer Joins的SELECT语句。 如果我要独立完成四个选择语句,我有以下信息:
主要表:786条记录
Pri Table和Tbl1:7055记录
Pri Table和Tbl2:1227记录
Pri Table和Tbl3:18903记录
Pri Table和Tbl4:786条记录(1-1关系)
但是使用Pri Left-outer-join Tbl1 Left-outer-join Tbl2 Left-outer-join Tbl3 Left-outer-join Tbl4:超过950万条记录。
这是正确的方法吗?在这种情况下,正确的输出是950万? 感谢
代码在这里:
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