Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi n:1 Bezeihung unter Firebird (https://www.delphipraxis.net/7796-n-1-bezeihung-unter-firebird.html)

theomega 21. Aug 2003 16:06


n:1 Bezeihung unter Firebird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute
Das ist jetzt eher ein Firebird/Interbase Problem als Delphi, wengleich mein programm nachher in Delphi sein soll, also:

Ich habe diese Datenstruktur vorliegen:
http://www.delphipraxis.net/download.php?id=1945

Es können viele Belge an ein Konto gebunden sein, ist ja auch logisch. das funktioniert auch soweit. Nur würde ich jetzt gerne für jedes Konto auflisten, wiehoch die Summe aller seiner Belege ist. Also eine Summe der Beträge für jedes einzelne Konto.

Dazu nehme ich dieses Query hier:
SQL-Code:
SELECT sum(belegbetrag),knid FROM beleg GROUP BY knid;
Jetzt bekomme ich auch eine Tabelle mit der Zuordnung
Summe -> kontoid

Jetzt würde ich gerne aber noch zusätzlich die Kontonummer zur Kontoid haben.

dazu nehme ich diese Query hier:
SQL-Code:
SELECT sum(beleg.belegbetrag),beleg.knid,konto.knnr FROM beleg,konto WHERE beleg.knid=konto.knid GROUP BY beleg.knid;
und hier streikt Firebird, warum? "Invalid Coloumn-Reference" wobei die Spaltennamen garantiert stimmen, selbst wenn ich mich hier verschrieben habe sollte.

Wer kann mir eine Lösung sagen?

Danke
TO

kiar 21. Aug 2003 18:20

Re: n:1 Bezeihung unter Firebird
 
ich versuche es mal
SQL-Code:
select sum(beleg.belegbetrag),beleg.knid,konto.knnr from beleg join konto on beleg.knid=konto.knid
kann mir aml einer erklären wie ich den syntax fett kriege?

das habe ich nicht gesehen :dancer:

r_kerber 21. Aug 2003 18:30

Re: n:1 Bezeihung unter Firebird
 
Zitat:

Zitat von kiar
kann mir aml einer erklären wie ich den syntax fett kriege?

Ganz einfach. Nicht Delphi-Source sonder SQL benutzen!

theomega 21. Aug 2003 18:33

Re: n:1 Bezeihung unter Firebird
 
gibt genau den gleichen Fehler! Hilft leider nicht, weiß jemand eine andere / bessere LÖsung?

kiar 21. Aug 2003 18:38

Re: n:1 Bezeihung unter Firebird
 
hallo theomega tausche mal bitte die beiden datein um, den beleg wird ja mit konto verglichen

theomega 21. Aug 2003 18:44

Re: n:1 Bezeihung unter Firebird
 
hä? Ich verstehe nicht was du meinst? Kannste mal bitte ausformulieren?

Danke
TO

kiar 21. Aug 2003 18:50

Re: n:1 Bezeihung unter Firebird
 
sorry
SQL-Code:
select sum(beleg.belegbetrag),beleg.knid,konto.knnr from konto join beleg on beleg.knid=konto.knid

Lemmy 22. Aug 2003 07:06

Re: n:1 Bezeihung unter Firebird
 
Hi,

bei Aggregatfunktionen musst Du alle Felder in der Group by aufführen:

SQL-Code:
SELECT sum(beleg.belegbetrag),beleg.knid,konto.knnr FROM beleg join konto ON beleg.knid=konto.knid GROUP BY beleg.knid, beleg.knnr;
Grüße
Lemmy


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz