2013-09-26 2 views
0

지난 3 년 동안 모든 강의 시간을 함께 추가하는 쿼리가 있는데 계산할 때 문제가 발생했습니다.연도 및 SUM 사례 사용

코드는

SELECT TNG_MDA_TYP_CD, SUM(LEN_HRS_ST) AS Expr1, REC_EFF_STT_DT 
FROM dbo.COL_TBL_VCOURSE_NEW 
GROUP BY TNG_MDA_TYP_CD, REC_EFF_STT_DT 

REC_EFF_STT_DT 코스가 가능하게 된 날짜입니다 및 LEN_HRS_ST는 총 시간입니다. SUM 함수를 YEAR 함수와 통합하는 방법을 알 수 없습니다. 매년 열을 필요로하므로 총 시간이 2010 년, 2011 년, 2012 년의 기둥이 필요합니다. 질문 후

답변

1

편집은 명확했다 : 당신이 언급 한대로 그대로 2010, 2011 년 및 2012 년 합계를 원한다고 가정 것

SELECT 
TNG_MDA_TYP_CD, 
Sum2010 = SUM(CASE WHEN DATEPART(YEAR, REC_EFF_STT_DT) = 2010 THEN LEN_HRS_ST ELSE 0 END), 
Sum2011 = SUM(CASE WHEN DATEPART(YEAR, REC_EFF_STT_DT) = 2011 THEN LEN_HRS_ST ELSE 0 END), 
Sum2012 = SUM(CASE WHEN DATEPART(YEAR, REC_EFF_STT_DT) = 2012 THEN LEN_HRS_ST ELSE 0 END) 
FROM dbo.COL_TBL_VCOURSE_NEW 
GROUP BY TNG_MDA_TYP_CD 

. 보다 역동적 인 것을 위해 PIVOT 기능을 살펴보십시오.

+0

죄송합니다. 2010 년, 2011 년, 2012 년에 시간의 합계가 필요한 열을 추가해야한다는 죄송합니다. – user2119980

+0

귀하의 설명을 끝내고 나의 초기 대답을 편집하십시오. –