从关系数据库创建事实表

时间:2012-03-02 17:46:18

标签: sql fact

我试图从具有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

0 个答案:

没有答案