Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Group By - Fehler (https://www.delphipraxis.net/64145-group-fehler.html)

BrunoT 28. Feb 2006 08:52

Datenbank: localSQL Paradox • Zugriff über: BDE

Group By - Fehler
 
Hi DP´ler

irgend etwas ist falsch:

SQL-Code:
SELECT PLZ,NEAME FROM "Mitglieder.DB"
geht ohne Probleme, auch

SQL-Code:
SELECT PLZ,NEAME FROM "Mitglieder.DB" ORDER BY PLZ
no problems, aber

SQL-Code:
SELECT PLZ,NEAME FROM "Mitglieder.DB" GROUP BY PLZ
kommt eine Fehlermeldung:
Zitat:

Im Projekt Project1.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: 'Wenn ein GROUP BY existiert, muß sich jedes einfache Feld in den Projektoren im GROUP BY befinden.'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
keine Ahnung warum.

kann das jemand beantworten? bitte

mfg

BrunoT

alcaeus 28. Feb 2006 08:57

Re: Group By - Fehler
 
Moin,

GROUP BY verwendet man nur, wenn man Funktionen wie SUM(), AVG() usw. im Query verwendet. Ansonsten ist es ungueltiges SQL, auch wenn manche Server (z.B. mySQL) es akzeptieren.

Greetz
alcaeus

Edit: siehe auch hier

marabu 28. Feb 2006 09:01

Re: Group By - Fehler
 
Hallo Holger,

was du wirklich willst ist ja wohl das:

SQL-Code:
SELECT PLZ, COUNT(*)
  FROM "Mitglieder.DB"
  GROUP BY PLZ
  ORDER BY PLZ
Welcher Name sollte auch ausgegeben werden, der erste, der letzte oder ein zufälliger?

Grüße vom marabu

mkinzler 28. Feb 2006 09:06

Re: Group By - Fehler
 
Was willst du mit der Gruppierung erreichen. was steht in NEAME (NAME?) drinn. Deine Anweisung "verschmilzt" ja alle Datensätze mit einer PLZ zu einem Datensatz. Du kannst z.B.
SQL-Code:
SELECT MIN(PLZ),MIN(NEAME) FROM "Mitglieder.DB" GROUP BY PLZ,NEAME
Ich vermute aber das dies nicht das gewünschte Ergebnis liefert.

BrunoT 28. Feb 2006 09:07

Re: Group By - Fehler
 
Oh danke,

das habe ich übersehen :wall: :wall: :wall:
Zitat:

GROUP BY verwendet man nur, wenn man Funktionen wie SUM(), AVG() usw. im Query verwendet. Ansonsten ist es ungueltiges SQL, auch wenn manche Server (z.B. mySQL) es akzeptieren.
Danke für die schnelle Antwort.

dank auch an marabu, nein, eigentlich hätte für meine Sache Order By PLZ gereicht. :mrgreen: ,

Ich hatte SQL zum Bericht umfunktionieren wollen.

Roter Kasten: Dank auch mkinzler

mfg

BrunoT


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 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