![]() |
Datenbank: firebird • Version: 1.5 • Zugriff über: IBConsole
Fehler bei Select - group by
Hallo,
ich habe mir zum testen eine SQL-SELECT gebastelt, die ich wie folgt in die IBConsole eingegeben habe :
SQL-Code:
So funktioniert das auch wie gewünscht aber wenn ich GROUP BY hinzufüge
select A.ID, B.ID, B.ARTIKELNAME, B.GESAMTPREIS from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID;
SQL-Code:
erhalte ich die Fehlermeldung "user name required". Nun meine Frage, was hat der User-Name damit zu tun?
select A.ID, B.ID, B.ARTIKELNAME, B.GESAMTPREIS from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
ciao Martin |
Re: Fehler bei Select - group by
Die Meldung kommt mir auch merkwürdig vor.
Trotzdem ist dein Statement falsch. Wenn du ein "group by" verwendest, müssen die Felder, die nicht darin enthalten unter einer Aggregatfunktion stehen (z.B. SUM). |
Re: Fehler bei Select - group by
Ich habe das mal abgeändert zu :
SQL-Code:
Die Fehlermeldung ändert sich aber nicht :gruebel: . Ich bin übrigens selbst der Owner, falls das wichtig sein sollte.
select A.ID, B.ID, B.ARTIKELNAME, SUM(B.GESAMTPREIS) from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
|
Re: Fehler bei Select - group by
SQL-Code:
Was ist mit B.ARTIKELNAME und A.ID? stehen beide nicht im group by, bzw haben keine Aggregat-Funktion.
select A.ID, B.ID, B.ARTIKELNAME, SUM(B.GESAMTPREIS) from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
Probier mal:
SQL-Code:
Wenn B.ID angezeigt wird, brauchst du A.ID nicht wirklich, oder? Ob deine DB ein Max auf einen String verarbeitet, kann ich dir nicht sagen. Notfalls musst du das für einen Test mal ganz rausschmeißen.
select B.ID, MAX(B.ARTIKELNAME), SUM(B.GESAMTPREIS) from TABELLE_X A join TABELLE_Y B on A.ID=B.X_ID group by B.X_ID;
|
Re: Fehler bei Select - group by
Genau das gleicht :roll: .
Ich habe auch noch ein mal probiert :
SQL-Code:
und ich erhalte den gleichen Fehler "user name required" :gruebel: .
select ID, sum(GESAMTPREIS) from TABELLE_Y;
|
Re: Fehler bei Select - group by
Zitat:
SQL-Code:
select ID, sum(GESAMTPREIS) from TABELLE_Y group by ID;
|
Re: Fehler bei Select - group by
Ja, so gehts bzw. ist die Spalte ID zu viel
SQL-Code:
Damit komme ich weiter. *Wer lesen kann ist klar im Vorteil! :lol: Nächste mal schaue ich genau in die Tutorials.*
select sum(GESAMTPREIS) from TABELLE_Y;
Mit FlameRobin erhalte ich aber eine aussagekräftigere Fehlermeldung. Danke allen. |
Re: Fehler bei Select - group by
eine kleine Anmerkung:
die Verwendung der IBConcole mit Firebird 1.5 ist ein Risiko: nach einigen sehr bizarren Fehlermeldungen und Ergebnissen darf nur noch mit Tools ab Workbench- Klasse gearbeitet werden, zur Not auch mit der ![]() Gruß Malte |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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