2014-04-28 2 views
0
SELECT 
    WeeklyReportDetailsDataId, ItemId, StoreId, 
    ManufacturerRetailerAssocId, WeekSales, WKYR, 
    SUM(WeekSales) OVER (PARTITION BY ItemId, StoreId, ManufacturerRetailerAssocId 
         ORDER BY ItemId, StoreId, ManufacturerRetailerAssocId ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROWS) as ytd 
FROM 
    WeeklyReportDetailsData 
WHERE 
    ManufacturerRetailerAssocId = 10 
GROUP BY 
    ItemId, StoreId, WeekSales, WeeklyReportDetailsDataId, WKYR, 
    ManufacturerRetailerAssocId 
ORDER BY 
    WeeklyReportDetailsDataId, ItemId, StoreId, ManufacturerRetailerAssocId, WKYR    

잘못된 구문이 올바르지 않아 오류가 발생합니다. 도움주세요 !!!!!!누적 합계 매출액

+1

*** 무엇 DATABASE ***하고있는 정확한 버전의 차이는이에 대한을 실행하는 참조하십시오? –

+0

Microsoft SQL 2008 R2 엔터프라이즈 버전을 사용하고 있습니다. – user3581861

+0

테이블 구조 스크립트를 제공하십시오 –

답변

0

변경 CURRENT ROWS에서 CURRENT ROW으로 변경하십시오. 그건 당신의 오류를 해결한다!

편집 :

귀하의 코멘트는 2008 R2는이 부분을 "UNBOUNDED ..... BETWEEN ROWS"를를 사용하는 능력이없는 것을 나타냅니다임을 언급.

OVER() 집계 SQL 서버 2012에 대한 기능과 2008 R2

+0

아니요. 제 문제를 해결하지 못했습니다 ..... – user3581861