kniffelig: Auswertung nach Datum iVm Personen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: kniffelig: Auswertung nach Datum iVm Personen

Beitrag von RobertG »

Hallo Thomas,

Code: Alles auswählen

SELECT MONTH( "a"."datum" ) AS "Monat",
 ( SELECT COUNT( "Name" ) FROM "Tabelle" WHERE "Name" = 'Max'  AND MONTH( "datum" ) = MONTH( "a"."datum" )) AS "Max",
 ( SELECT COUNT( "Name" ) FROM "Tabelle" WHERE "Name" = 'Steffi'  AND MONTH( "datum" ) = MONTH( "a"."datum" )) AS "Steffi"
FROM "Tabelle" AS "a" GROUP BY MONTH("a"."datum" ) ORDER BY "a"."Name" DESC
Da sind gleich mehrere Fehler drin gewesen. In der zweiten zeile fehlte das Komma. In der Bedingung wolltest Du den Monat aus dem namensfeld ermitteln. Die Unterabfragen berücksichtigten nicht den Monat.
Dies habe ich mit einer korrelierenden Unterabfrage korrigiert.
Sobald Du aber über ein Jahr hinaus gehst hast Du ein Problem. Deshalb bitte gegebenenfalls das Jahr mit einfügen.

Gruß

Robert
Zuletzt geändert von RobertG am Do, 18.12.2014 12:01, insgesamt 1-mal geändert.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: kniffelig: Auswertung nach Datum iVm Personen

Beitrag von RobertG »

Hallo Thomas,
voodoo1974x hat geschrieben: Was mir aber nicht klar ist: was ist in Deiner Abfrage denn "a"?
Die "Tabelle" erhält einen Alias "a", unter dem sie in der Abfrage angesprochen wird. Das ist notwendig, damit in den Unterabfragen jeweils auf die aktuelle Datenzeile Bezug genommen werden kann. Bei der genannten Abfrage wird mit

Code: Alles auswählen

( SELECT COUNT( "Name" ) FROM "Tabelle" WHERE "Name" = 'Max'  AND MONTH( "datum" ) = MONTH( "a"."datum" ))
der Monat der Unterabfrage (MONTH("Datum")) mit dem Monat der aktuellen Datenzeile der äußeren Abfrage verglichen (MONTH("a"."Datum")).

Gruß

Robert
Zuletzt geändert von RobertG am Do, 18.12.2014 12:01, insgesamt 1-mal geändert.
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: kniffelig: Auswertung nach Datum iVm Personen

Beitrag von RobertG »

Hallo Thomas,

ist mein Fehler: Ich hatte "Name" = "Max" da stehen. In doppelten Anführungszeichen wird ein Feld erwartet, keine Texteingabe. Ich habe das jetzt in diesem Thread komplett geändert.
Mach'

Code: Alles auswählen

... WHERE "Berater Name" = 'Max' AND ...
daraus - mit einfachen Anführungsstrichen.

Gruß

Robert
Antworten