Thema: Delphi SQLite Hilfe zu SUM() ??

Einzelnen Beitrag anzeigen

Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#30

Re: SQLite Hilfe zu SUM() ??

  Alt 11. Jan 2006, 09:20
@Gigant

versuch mal das:
Delphi-Quellcode:
procedure TfrmEinstellung.Button1Click(Sender: TObject);
var qKonten : tzQuery;
    cSQL : String;
begin

  cSQL := 'SELECT SUM(betrag)||'''' as betrag, konten_fk FROM kontoSoll GROUP BY konten_fk';

  if (DB_Open(qKonten,cSQL)) then begin
    qKonten.First;
    While (Not qKonten.Eof) do begin

      cSQL := 'UPDATE konten SET kontostand = '+ QuotedStr(qKonten.FieldByName('betrag').asString)
             +' WHERE konto_pk = '+qKonten.FieldByName('konten_fk').asString;

      DB_Exec(cSQL);

      ShowMessage(qKonten.FieldByName('betrag').asString);
      qKonten.Next;

    end;
  end;
  qKonten.Free;
end;
Bei SQLite 3 könnte man sowas dann sogar mit einer Query erledigen

SQL-Code:
update Konten

set KontoStand =
  (select SumBetrag
   from (select
           Sum(ks.betrag) as SumBetrag,
           ks.Konten_FK as KontenFK
         from KontoSoll ks
         group by ks.Konten_FK
        )
   where KontenFK = Konto_PK
  )
  Mit Zitat antworten Zitat