2014-07-22 3 views
1

SQL 쿼리를 사용하여 Access 2010에서 YTD 계산을 구현하는 방법을 알아 내려고했습니다. 현재 테이블 :MS Access- 롤링 YTD 계산 Sql 쿼리

Property date_rec(mm/dd/yyyy) Revenue month1 year1 

    A 01/01/2013   100  01 2013 
    A 02/01/2013   50  02 2013 
    B 01/01/2014   200  01 2014 
    B 02/01/2014   300  02 2014 

원하는 출력 : 우리는 아래의 쿼리를 시도했지만 MS Access에서 오류가 발생

Property date_rec Revenue YTD_revenue 
    A   01/01/2013 100  100 
    A   02/01/2013 50  150 
    B   01/01/2014 200  200 
    B   02/01/2014 300  500 

: '당신이로 지정된 표현 MONTH1을 포함하지 않는 쿼리를 실행하려고 집계 함수의 일부 '

select test.property, test.date_rec, (select sum(test.revenue) 
           from test a 
           where a.month1<=b.month1 AND a.year1=b.year1) 
as revenue_ytd into new_table 
from test b 
where a.date_rec=b.date_rec 
group by property, date_rec order by property, date_rec; 

누군가가 코드를 디버그하는 데 도움이 될 수 있습니까? :)

답변

0

가까이 있습니다. 년 및 월을 조항에 포함하면됩니다.

select b.property, b.date_rec, 
     (select sum(a.revenue) 
     from test as a 
     where a.month1 <= b.month1 AND a.year1 = b.year1 and 
       a.property = b.property 
     ) as revenue_ytd 
into new_table 
from test as b 
group by property, date_rec, month1, year1 
order by property, date_rec; 
+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 그러나 여전히 제안 된 변경 사항과 동일한 오류가 표시됩니다 – user3111273

+0

@ user3111273. . . 나는 처음으로 눈치 채지 못한 다른 문제들을 고쳤다. 아마도 이것이 도움이 될 것입니다 - 아니면 적어도 다른 오류를 생성합니다. –

+0

하나의 질문 : 왜 date_rec = b.date_rec를 하위 쿼리에 추가 했습니까? – user3111273