Q&A

  • 그룹으로 합계내는 방법부탁합니다...
SQL.Add('SELECT DATE, BUSEO, PUMOK, SUM(HAP) 소계 FROM MMM.DB');



SQL.Add('WHERE BUSEO IN ("총무부", "인사부") and

DATE>=:MINDATE AND DATE<=:MAXDATE');



SQL.Add('GROUP By DATE, BUSEO, PUMOK');



ParamByName('MINDATE').AsString := Edit1.Text;

ParamByName('MAXDATE').AsString := Edit2.Text;

결과는 다음과 같이 출력됩니다

----------------------------------------------------------------------

DATE BUSEO PUMOK HAP

---- --------- ------ -----

11.11 인사부 시디케이스 3000

11.11 총무부 시디케이스 3000

11.11 인사부 디스켓 500

11.11 통무부 디스켓 500



이렇게 출력되는것을 다음과 같이하고 싶은데 어떻하여야

하는지 부탁드립니다



DATE PUMOK HAP

---- ------ -----

11.11 시디케이스 6000

11.11 디스켓 1000

그럼 .....

1  COMMENTS
  • Profile
    mafioso 2000.11.12 08:08
    SELECT DATE, PUMOK, SUM(HAP) AS HAP

    FROM MMM.DB

    WHERE BUSEON IN ("총무부","인사부")

    AND DATE BETWEEN :MINDATE AND :MAXDATE

    GROUP BY DATE, PUMOK



    간단히 말해서 SELECT 절과 GROUP BY 절에서 부서필드를 빼시면됩니다.

    그리고 DATE>=:MINDATE AND DATE<=:MAXDATE 하시는 것도 맞지만

    DATE BETWEEN :MINDATE AND :MAXDATE <=== 이렇게 하심이 더~~~





    이정한 wrote:

    > SQL.Add('SELECT DATE, BUSEO, PUMOK, SUM(HAP) 소계 FROM MMM.DB');

    >

    > SQL.Add('WHERE BUSEO IN ("총무부", "인사부") and

    > DATE>=:MINDATE AND DATE<=:MAXDATE');

    >

    > SQL.Add('GROUP By DATE, BUSEO, PUMOK');

    >

    > ParamByName('MINDATE').AsString := Edit1.Text;

    > ParamByName('MAXDATE').AsString := Edit2.Text;

    > 결과는 다음과 같이 출력됩니다

    > ----------------------------------------------------------------------

    > DATE BUSEO PUMOK HAP

    > ---- --------- ------ -----

    > 11.11 인사부 시디케이스 3000

    > 11.11 총무부 시디케이스 3000

    > 11.11 인사부 디스켓 500

    > 11.11 통무부 디스켓 500

    >

    > 이렇게 출력되는것을 다음과 같이하고 싶은데 어떻하여야

    > 하는지 부탁드립니다

    >

    > DATE PUMOK HAP

    > ---- ------ -----

    > 11.11 시디케이스 6000

    > 11.11 디스켓 1000

    > 그럼 .....