AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL-Abfrage nach Monat gruppieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Abfrage nach Monat gruppieren

Ein Thema von norbert3 · begonnen am 23. Jul 2006 · letzter Beitrag vom 24. Jul 2006
Antwort Antwort
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#1

SQL-Abfrage nach Monat gruppieren

  Alt 23. Jul 2006, 23:08
Datenbank: ABS • Version: 5.05 • Zugriff über: DataModule
Hey Leute,

ich komme einfach nicht weiter.

Ich habe ein DBChart-Modul eingesetzt und es mit einer Abfrage verbunden. Dies funktioniert soweit auch.
Delphi-Quellcode:
with ABSQuery1 do
  begin
    ABSQuery1.Close;
    ABSQuery1.SQL.Text := 'SELECT t1."Datum", SUM(t1."GesamtNetto") AS "sumGesamtNetto"
FROM "tblRechnung" t1
WHERE (t1."Datum" Like "%"+:Jahr)
GROUP BY t1."Datum", t1."GesamtNetto"
HAVING ((EXTRACT(MONTH FROM t1."Datum")))
';
    ABSQuery1.ParamByName('Jahr').asString := cboJahr.Text;
    ABSQuery1.Open;
   end
Nun möchte ich aber, dass die Werte der einzeln angezeigten Tage summiert und das auch noch pro Monat ausgegeben werden soll. (Gesammtsumme pro Monat)

Hat jemand eine Idee?

Mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: SQL-Abfrage nach Monat gruppieren

  Alt 24. Jul 2006, 05:28
GROUP BY EXTRACT(MONTH FROM t1."Datum"), t1."GesamtNetto"
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: SQL-Abfrage nach Monat gruppieren

  Alt 24. Jul 2006, 07:24
Hallo Markus,

ABS erlaubt keine Ausdrücke in der GROUP BY Klausel - besser so:

SELECT EXTRACT(MONTH FROM datum) AS monat, SUM(gesamtnetto) FROM rechnungen GROUP BY monat ORDER BY monat DESC Grüße vom marabu
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: SQL-Abfrage nach Monat gruppieren

  Alt 24. Jul 2006, 08:15
Ich kenn mich halt mit diesem DBMS nicht aus.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: SQL-Abfrage nach Monat gruppieren

  Alt 24. Jul 2006, 18:04
Hey Leute,

danke an alle, ich habe es nun so eingebaut und läuft sehr gut!!
Delphi-Quellcode:
procedure TfrmUmsatz.FormActivate(Sender: TObject);
begin
cboJahr.Text := FormatDateTime('yyyy',date);
with ABSQuery1 do
  begin
    ABSQuery1.Close;
    ABSQuery1.SQL.Text := 'SELECT EXTRACT(MONTH FROM datum) AS monat, SUM(gesamtnetto)AS sumGNetto FROM tblRechnung WHERE (Datum Like "%"+:Jahr) GROUP BY monat ORDER BY monat DESC';
        ABSQuery1.ParamByName('Jahr').asString := cboJahr.Text;
    ABSQuery1.Open;
   end

end;
mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: SQL-Abfrage nach Monat gruppieren

  Alt 24. Jul 2006, 21:53
Nur ein wenig Kosmetik:

Delphi-Quellcode:
procedure TfrmUmsatz.FormActivate(Sender: TObject);
begin
  with ABSQuery1 do
  begin
    SQL.Text := 'SELECT EXTRACT(MONTH FROM datum) AS monat, '
              + 'SUM(gesamtnetto) AS sumGNetto FROM tblRechnung '
              + 'WHERE EXTRACT(YEAR FROM datum) = :jahr) '
              + 'GROUP BY monat ORDER BY monat DESC';
    Params.ParamValues['jahr'] := CurrentYear;
    Open;
  end;
end;
Vielleicht solltest du nochmal prüfen, ob das Ereignis OnActivate() der Form die optimale Stelle für die Query ist.

Gute Nacht

marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz