Ich finde den Fehler nicht

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

rito
***
Beiträge: 54
Registriert: Do, 05.07.2007 10:17

Ich finde den Fehler nicht

Beitrag von rito »

Hi Leute,
ich gab folgendes in den SQL-editor ein und bekam eine Fehlermeldung:

SELECT "Nachname", "Vorname", count(*) AS "U-Punktbesuche" FROM "Tagebuch U-Punkt" as "Tagebuch U-Punkt" group by "Nachname"

Wo liegt der Fehler?

und wieso funktioniert aber:
SELECT "Nachname", count(*) AS "U-Punktbesuche" FROM "Tagebuch U-Punkt" as "Tagebuch U-Punkt" group by "Nachname"

Was ist daran besser?
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Ich finde den Fehler nicht

Beitrag von Barlee »

Hallo rito,
Wo liegt der Fehler?
"Vorname" ist nicht in die Gruppierung mit einbezogen worden. Richtig wäre ... GROUP BY "Vorname", "Nachname"
und wieso funktioniert aber:...
Was ist daran besser?
Besser ist daran, dass alle ausgewählten Felder in der Gruppierung berücksichtigt werden. In dem Fall also nur "Nachname"

Gruß Barlee
rito
***
Beiträge: 54
Registriert: Do, 05.07.2007 10:17

Re: Ich finde den Fehler nicht

Beitrag von rito »

In der Tat, es funktioniert! Vielen Dank!
Es erschließt sich mir jedoch immer noch nicht die Logik. Ich möchte doch eigentlich nur die Häufigkeit der Besuche der Maiers oder Schmitts zählen. Weshalb muss ich dann die anderen Spalten dann auch noch in die Group by - Funktion mit einbeziehen. In meinem My-SQL-Buch steht dies anders.

Seltsam - Aber wenn es funktioniert?
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Ich finde den Fehler nicht

Beitrag von pmoegenb »

Hallo rito,
ich kann mir beim besten Willen nicht vorstellen, dass dies in Deinem My-SQL-Buch anders steht.

Group by "Nachname" bedeutet: Erstelle eine Gruppe mit jeweils gleichlautendem Nachnamen. Wenn Du angenommen 5 x den Namen Schmitt in der Tabelle hast, gibt die SQL-Abfrage einen Datensatz mit Schmitt und der Anzahl 5 aus. Eine Select-Anweisung für den Vornamen würde deshalb logischer Weise nur Sinn machen, wenn der Vorname in der Group by Klausel mit aufgenommen wird.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Antworten