我有两个数据集。一种是类似于下面的示例SSIS合并虽然?
Table1
Key StartDate EndDate Name Data_1
1 2017-01-01 2017-01-03 Billy G 58uf
2 2017-01-10 2017-01-12 S Dogg 4940
我也有一个标准的日期维度称为dbo.DimDate维度表的数据。我如何将日期维度合并到Table1上,以便Table1为每个记录包含StartDate和EndDate之间每天的记录?
期望的结果是这样的:
Table2
Key StartDate EndDate Name Data_1 Day
1 2017-01-01 2017-01-03 Billy G 58uf 2017-01-01
1 2017-01-01 2017-01-03 Billy G 58uf 2017-01-02
1 2017-01-01 2017-01-03 Billy G 58uf 2017-01-03
2 2017-01-10 2017-01-12 S Dogg 4940 2017-01-10
2 2017-01-10 2017-01-12 S Dogg 4940 2017-01-11
2 2017-01-10 2017-01-12 S Dogg 4940 2017-01-12
这需要在一个SSIS包来完成。我不认为一个简单的MERGE JOIN会起作用,因为1)Date维度没有与Table1中的任何内容匹配的键,2)我需要它为每个日期添加Day BETWEEN StartDate和EndDate
If我做了一个执行SQL命令,那么我如何从两个单独的表中获取它?
最后的记录从你期望的结果,为什么'EndDate'是“2017年1月11日”而不是“2017年1月12日”? – LONG
对不起,这是一个错字 – james5
如果没有共同的列(或键)加入,不能使用'合并加入',我会考虑另一种方法来做到这一点 – LONG