Q&A

  • query문에서....간단한것 같기도 한데 바주세요..
잘 안되서 도움을 청합니다.

DB는 파라독스입니다.

query1.sql.add('select   name,  sum(kmoney)  as  pay   from  Table');
query1.sql.add('where   pay  >  30000000');
query1.sql.add('group  by  name');
query1.sql.add('order   by  pay');
query.open;

위 쿼리문에서 필드는 name(직원이름)과 kmoney(급여) 입니다.

1월 ~ 12월 까지 급여 수령액에서 30,000,000원 이상되는 직원을
검색하려고 하는데 잘 안됩니다.

where pay > 30000000  ==> 여기에서 에러가 떨어집니다.

데이타 ex)

  홍길동            1월   3,000,000원
      -                 -           -
      -                 -           -
  홍길동           12월  4,000,000원


  심청이            1월   2,500,000원
                         -
                         -
                      12월





2  COMMENTS
  • Profile
    장덕곤 2004.08.12 00:08
    파라독스는 where 절에 알리어스를 쓰면안되구요
    그리고 having절에도 알리어스를 쓰면안됩니다
    query1.sql.add('select   name,  sum(kmoney)  as  pay   from  Table');
    query1.sql.add('group  by  name');
    query1.sql.add('having   sum(kmoney)  >  30000000');
    query1.sql.add('order   by  pay');
    이런식으로 하시면됩니다...
    즐코하세요...
    참고로 mssql에서는 having절에는 알리어스 사용합니당..



  • Profile
    ㉳㉥ㅗ㉣ㅐ㉧ㅛ 2004.08.11 18:00



    query1.sql.add('select   name,  sum(kmoney)  as  pay   from  Table');
    query1.sql.add('group  by  name');

    query1.sql.add('having pay > 30000000' );

    query1.sql.add('order   by  pay');
    query.open;


    group by에 관해서 조건을 걸땐 having을 써야 합니다...