0
에 정의되지 않은 경우 쿼리는 다음 주별로 그룹화 물론 시간의 합을 찾아온다. 문제는 쿼리에서 정의 할 수없는 경우마다 주 값이 다를 수 있다는 것입니다. 여기에 다시 쿼리에서 가져온 것의 예입니다SQL 피벗이 날짜의 일주일이 쿼리
WITH cteSource(DOP_ID, Category, WeekOf, [Hours])
AS (
SELECT DOP_ID,
Category,
DATEADD(DAY, DATEDIFF(DAY, '19000101', [Date])/7 * 7 , '19000101') AS WeekOf, -- Monday
[Hours]
FROM GW_PPP.dbo.SLAM_Attendence
)
SELECT DOP_ID AS ID,
Category,
WeekOf AS [Week of],
SUM([Hours]) AS [Total Hours]
FROM cteSource
GROUP BY DOP_ID,
Category,
WeekOf
ORDER BY DOP_ID,
Category,
WeekOf;
다시
ID Category Week of Total Hours
1111554 Case Management 7/2/2012 7
1111554 Case Management 7/9/2012 7
1111554 Case Management 7/16/2012 7
1111554 Pre-GED 7/2/2012 3
1111554 Pre-GED 7/9/2012 3
1111554 Pre-GED 7/16/2012 3
질의, 나는에 주를 정의하지 않음으로써 테이블을 돌리고하는 방법을 알아낼 수 없습니다 쿼리
SO이 같은 것을 사용하지 않을 경우 정의의 주 :
pivot
(
week of in ([7/2/2012], [7/9/2012],
[7/16/2012 ])
) piv
또한 가능하면 월별로 합계 열을 추가하고 싶습니다. 여기에 출력 내가 좋아하는 것 :
ID Category 7/2/2012 7/9/2012 7/16/2012 July 12 Total
1111554 Case Management 7 7 7 21
1111554 Pre-GED 3 3 3 12