Hallo!
Ich habe ein Problem bei der Abfrage meiner Datenbank.
Hier eine stichpunktartige Erklärung des Problems (ist am übersichtlichsten).
Vorgabe:
Tabelle -KUNDE- beinhaltet allgemeine Informationen der Kunden.
Tabelle -BEITRAG- mehrere Beiträge der Kunden in zwei verschiedenen Sprachen. beitrag.sprache ist entweder D oder GB.
Wunschergebnis:
Ich würde mir gern eine Liste ALLER Kunden mit der Anzahl der Beiträge sortiert nach Sprachen ausgeben lassen. Also ungefähr so:
Kunde x, 5 Beiträge D, 3 Beiträge GB
Kunde y, 8 Beiträge D, 2 Beiträge GB
Kunde z, 4 Beiträge D, 0 Beiträge GB
Versuch:
SELECT kunde.id,
count(beitrag.sprache="D") AS anzahlD,
count(beitrag.sprache="GB") AS anzahlGB,
FROM kunde LEFT JOIN beitrag ON kunde.id=beitrag.id
GROUP BY kunde.id
ORDER BY kunde.id
... geht aber nicht!
Resultat:
Es wird nicht zwischen D und GB unterschieden. anzahlD und anzahlGB geben die Summer beider Sprachen des Kunden zurück.
Ich erhalte statt (5 D + 3 GB) ... (8 D +8 GB)
Kann mir jemand weiterhelfen?
Vielen Dank schon jetzt
Maik
Ich habe ein Problem bei der Abfrage meiner Datenbank.
Hier eine stichpunktartige Erklärung des Problems (ist am übersichtlichsten).
Vorgabe:
Tabelle -KUNDE- beinhaltet allgemeine Informationen der Kunden.
Tabelle -BEITRAG- mehrere Beiträge der Kunden in zwei verschiedenen Sprachen. beitrag.sprache ist entweder D oder GB.
Wunschergebnis:
Ich würde mir gern eine Liste ALLER Kunden mit der Anzahl der Beiträge sortiert nach Sprachen ausgeben lassen. Also ungefähr so:
Kunde x, 5 Beiträge D, 3 Beiträge GB
Kunde y, 8 Beiträge D, 2 Beiträge GB
Kunde z, 4 Beiträge D, 0 Beiträge GB
Versuch:
SELECT kunde.id,
count(beitrag.sprache="D") AS anzahlD,
count(beitrag.sprache="GB") AS anzahlGB,
FROM kunde LEFT JOIN beitrag ON kunde.id=beitrag.id
GROUP BY kunde.id
ORDER BY kunde.id
... geht aber nicht!
Resultat:
Es wird nicht zwischen D und GB unterschieden. anzahlD und anzahlGB geben die Summer beider Sprachen des Kunden zurück.
Ich erhalte statt (5 D + 3 GB) ... (8 D +8 GB)
Kann mir jemand weiterhelfen?
Vielen Dank schon jetzt
Maik
Kommentar