쿼리에서 group by 로 생성한 자료를 변수에 저장하고 싶습니다.
예를 들면, 월별 합계금액을 배열변수에 저장하는 방법입니다.
예문) var
HAP : array[0..11] of Integer;
select 합계금액 from Table_name
where 합계금액 > 100 and 입금년도 = '2004'
group by 합계금액
위의 합계금액은 1월 부터 12월 까지의 값을 가지고 있다면
1월의 합계금액은 HAP[00],2월의 합계금액은 HAP[01],
3월의 합계금액은 HAP[02], ... 12월의 합계금액은 HAP[11]에
저장하는 방법을 알려주십시요...
질문이 이게 맞는지 모르겠네요..
With Query1 Do Begin
Close;
Sql.Add('SELECT SUM(DECODE(입금월,'01',합계금액,0)) "01월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'02',합계금액,0)) "02월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'03',합계금액,0)) "03월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'04',합계금액,0)) "04월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'05',합계금액,0)) "05월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'06',합계금액,0)) "06월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'07',합계금액,0)) "07월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'08',합계금액,0)) "08월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'09',합계금액,0)) "09월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'10',합계금액,0)) "10월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'11',합계금액,0)) "11월금액" ');
Sql.Add(' ,SUM(DECODE(입금월,'12',합계금액,0)) "12월금액" ');
Sql.Add(' from Table_name ');
Sql.Add(' Where 합계금액 > :date1 and 입금년도 = date2 ');
Open;
ParamByName('Date1').asFloat := 100;
ParamByName('Date2').AsString := '2004';
HAP[01] := FieldByName('01월금액').AsFloat;
HAP[02] := FieldByName('02월금액').AsFloat;
HAP[03] := FieldByName('03월금액').AsFloat;
HAP[04] := FieldByName('04월금액').AsFloat;
HAP[05] := FieldByName('05월금액').AsFloat;
HAP[06] := FieldByName('06월금액').AsFloat;
HAP[07] := FieldByName('07월금액').AsFloat;
HAP[08] := FieldByName('08월금액').AsFloat;
HAP[09] := FieldByName('09월금액').AsFloat;
HAP[10] := FieldByName('10월금액').AsFloat;
HAP[11] := FieldByName('11월금액').AsFloat;
HAP[12] := FieldByName('12월금액').AsFloat;
End;