Q&A

  • 두개의 쿼리문을 사용해서 값을 뽑아내는건 어떻게 해야 하나요?
With Query_disp, SQL do begin
    Clear;
    Close;


    Add(' select sum(jichul_amt) As jichul_junche_sum ');
    Add(' from jichul_detail ');
    Add(' where jichul_date >='  + Quotedstr(S_jichul_Date_Fr) );
    Add(' and jichul_date <='    + Quotedstr(S_jichul_Date_To) );

    Clear;
    Close;

    Add(' select jichul_name, count(*) As jichul_count, sum(jichul_amt) As jichul_sum ,');
    Add(' (jichul_sum/jichul_junche_sum)*100 As jichul_jumyu ');
    Add(' from jichul_detail  ');
    Add(' where jichul_date >='  + Quotedstr(S_jichul_Date_Fr) );
    Add(' and jichul_date <='    + Quotedstr(S_jichul_Date_To) );
    Add(' group by jichul_name ');

   memo1.lines.add(sql.text);

//  Open;

이렇게 해서 . ..만약 감자(jichul_name)라는 상품의 금액(jichul_amt)를 구해서 그 상품이 전체 금액중에 차지하는 비율(jichul_jumyu)   을 구하는걸 구할려구 하는데요
이문장은 아무리 생각해봐도 틀린것 같아서요
어떻게 해야 하는지??
2  COMMENTS
  • Profile
    김강수 2002.04.07 11:32
    select jichul_name, count(*) as jichul_Count1, SUM(jichul_amt) as jichul_amt1, SUM(jichul_amt) / MAX(jichul_amtX) * 100 as Percent1
    from aa, (select sum(jichul_amt) as jichul_amtX from aa) as bb
    group by jichul_name

    아래에 보시면 그쪽이 쓰신 글에 제가 쓴 답글이 있어요. ^^;

  • Profile
    머슴 2002.04.06 22:54


      DB를 Open(Query_disp,Query_sum(전체합))을 두개를 개별적으로
    하세요.....

      그 뒤에 지출일자로 그룹한 쿼리 컴퍼넌트에서  

      CalcField라는 가상의 필드를 생성합니다.

    (쿼리 컴퍼넌트를 찍고 오른쪽 버튼 누르면 메뉴중에서 Fields Edit에서
      다시 오른쪽 버튼 누르면  New Fields를 누르시면 필드를 추가 하실수
    있습니다..)

      OnCalcField이벤트에서
      (필드명을 AAA로 생성했으면

        with Query_disp do
         begin

         FieldByName(AAA).AsString:= FloatToStr  
        ((FieldByName(jichul_amt).AsFloat/Query_sum.FieldByName('전체합필드').AsFloat) * 100) +'%';


    이렇게 한번 해보세요...

    제가 쿼리로 해결해보라니까.. 아직 능력이 안되어서요...코딩으로 한번 했습니다.. 물론 컴파일은 안해보았습니다.. 한번 코딩하신뒤에 확인을...