Q&A

  • 날짜필드로 월합계를 구하는 쿼리는?
날짜필드와 판매액이 있는 테이블이 있습니다.

월별 판매 합계액을 쿼리로 구하여 Dbgrid로 보여주려 합니다. 예를 들어

월 판매액

1 12000000

2 10000000

의 형태로 말입니다.

전문가의 조력을 구합니다.

2  COMMENTS
  • Profile
    고규인 1999.10.12 09:28
    최도석 wrote:

    > 날짜필드와 판매액이 있는 테이블이 있습니다.

    > 월별 판매 합계액을 쿼리로 구하여 Dbgrid로 보여주려 합니다. 예를 들어

    > 월 판매액

    > 1 12000000

    > 2 10000000

    > 의 형태로 말입니다.

    > 전문가의 조력을 구합니다.



    어... 그러니까...

    쿼리문장을 물어보십겁니까 ?



    select datepart(month,날짜필드) as 월, sum(판매액 필드) as 판매액

    from 테이블명

    group by datepart(month,날짜필드)



    요러게 함 해보심이... 어떨지...



    그럼 즐거운 프로그래밍 되서요.. ^_^



  • Profile
    이주흥 1999.10.11 19:09
    최도석 wrote:

    > 날짜필드와 판매액이 있는 테이블이 있습니다.

    > 월별 판매 합계액을 쿼리로 구하여 Dbgrid로 보여주려 합니다. 예를 들어

    > 월 판매액

    > 1 12000000

    > 2 10000000

    > 의 형태로 말입니다.

    > 전문가의 조력을 구합니다.





    다음은 주어진 날짜에 의해서

    월의 처음일과 마지막일을 구하는 함숩니다.

    이걸로 월별 합계를 구할수 있겠죠?



    function TaccountFrm.dateBeginOfMonth(D: TDateTime): TDateTime;

    var Year, Month, Day: Word;

    begin

    DecodeDate(D, Year, Month, Day);

    Result := EncodeDate(Year, Month, 1);

    end;



    function TaccountFrm.dateEndOfMonth(D: TDateTime): TDateTime;

    var Year, Month, Day: Word;

    begin

    DecodeDate(D, Year, Month, Day);

    if Month = 12 then

    begin

    Inc(Year);

    Month := 1;

    end

    else

    Inc(Month);



    {월의 다음월의 시작일에서 1을 뺀다}

    Result := EncodeDate(Year, Month, 1) - 1;

    end;