1
ETL 질문.날짜 범위 값을 일일 곡물 팩트 테이블로로드
시작 및 종료 날짜가있는 항목이 포함 된 테이블의 경우 시작일의 범위 내에 항목이없는 날을 포함하여 매일 매일의 개수를 검색하는 최적의 방법은 무엇입니까?
주어진 테이블 예
Stock
ID StartDate EndDate Category
1 1/1/2013 1/5/2013 Appliances
2 1/1/2013 1/10/2013 Appliances
3 1/2/2013 1/10/2013 Appliances
출력 요구
테이블 변수를 만들고, 블록 시작을 반복 동안을 실행하는 것입니다, 영원히 소요 내가 아는Available
Category EventDate Count
Appliances 1/1/2013 2
Appliances 1/2/2013 3
...
...
Appliances 1/10/2013 2
Appliances 1/11/2013 0
...
...
한 가지 방법, 그리고 검색하고자하는 범위의 끝, 그런 다음 쿼리를 실행하십시오.
Insert into @TempTable (Category,EventDate,Count)
FROM Stock
Where @CurrentLoopDate BETWEEN StartDate AND EndDate
Anot 그녀의 방법은 내가 원하는 채우기 범위에서 날짜의 테이블이나 임시 테이블을 만들고 BETWEEN 함수와 결합하는 것입니다.
Insert into @TempTable (Category,EventDate,Count)
FROM DateTable
INNER JOIN Stock ON DateTable.[Date] BETWEEN StartDate AND EndDate
그러나 다른 방법은 비슷하지만 SSIS를 사용하지만 본질적으로 위의 두 가지 해결책과 동일합니다.
GURU는 더 효율적인 방법을 알고 있습니까?
을해야
. 답변 해 주셔서 감사합니다. – NoMoCouch