如何从多个表填充事实表

问题描述

我正在做一项学校作业,但我不知道如何填充事实表。我的查询

Select CustomerID from dim_cust
Select ProductID from dim_product
select InvoiceID from dim_invoice

insert into [dim_fact] ([CustomerID],[ProductID],[InvoiceID]);

dim_* 都是我手动填写的表格。

我还收到“')'附近的语法不正确”错误。 我还有一个列将包含事实表 (dim_fact) 中的发票总数。

非常感谢任何帮助,谢谢!

Code

Product Table

Invoice Table

Customer Table

fact table

解决方法

我假设发票表同时包含 customeridproductid 信息。因此,您可以加入 dim_custdim_invoice 表以获得您想要的。

insert into [dim_fact] 
select c.[CustomerID],i.[ProductID],i.[InvoiceID]
from dim_cust c inner join dim_invoice i on c.customerid=i.customerid;