누락 추가 나는 테이블에 결과 쿼리는 아래와 같이있다 :TSQL - 날짜
select * from (select [iKey], [StartDate], [FirstFCDate] from (SELECT [iKey], min([Date]) as [FirstFCDate] from dbo.factFC group by [iKey]) as gp left outer join (select [StartDate], [Key] from dbo.iKeys) dw on gp.iKey = dw.[Key]) ft
Table1
iKey StartDate FirstFCDate
101 2017-01-13 2017-04-01
52 2016-11-11 2017-04-01
21 2017-02-23 2017-04-01
19 2014-01-21 2017-05-01
34 2016-08-18 2017-07-01
내가 뭘하려고 오전 내 팩트 테이블에 (dbo.factProd라는 별도의 테이블) 행을 삽입입니다 그래서 해당 테이블에 시작 날짜와 FirstFCDate 사이의 모든 날짜에 대한 행이 있습니다.
현재, 내 팩트 테이블은 다음과 같다 : 당신이 볼 수 있듯이factProd
ID iKey Date pAmount fcKey
1 101 2017-04-01 123 1
2 101 2017-04-01 456 2
3 101 2017-04-02 789 1
4 101 2017-04-02 103 2
5 101 2017-04-03 192 1
6 101 2017-04-03 112 2
이 iKey를 101를 들어, factProd 테이블의 첫 번째 날짜가 올바르게 FirstFCDate 컬럼에 해당 2017년 4월 1일 (이다 표 1에서). 내가 원하는 무엇
각 iKey를 + fcKey 조합에 대한합니다 (STARTDATE 열에서) 2017년 1월 13일 사이의 각 날짜에 대해이 factProd 테이블에 행을 추가합니다.
그래서 최종 결과 (ID가 자동 생성됩니다)과 같아야합니다
factProd
ID iKey Date pAmount fcKey
99 101 2017-01-13 0 1
100 101 2017-01-13 0 2
101 101 2017-01-14 0 1
102 101 2017-01-14 0 2
103 101 2017-01-15 0 1
104 101 2017-01-15 0 2
... ... ... ... ...
199 101 2017-03-31 0 1
200 101 2017-03-31 0 2
1 101 2017-04-01 123 1
2 101 2017-04-01 456 2
3 101 2017-04-02 789 1
4 101 2017-04-02 103 2
5 101 2017-04-03 192 1
6 101 2017-04-03 112 2