SQL: Verknüpfte Tabellen, auch Nullwerte zählen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SQL: Verknüpfte Tabellen, auch Nullwerte zählen

Re: SQL: Verknüpfte Tabellen, auch Nullwerte zählen

von Steffan » Fr, 30.10.2009 12:09

Vielen Dank, das hat wunderbar geklappt.
Hier zur Vollständigkeit die geänderte Abfrage

Code: Alles auswählen

SELECT v.ID, v.Verlag, COUNT(b.VerlagID) AS `Anzahl zugeordneter Bücher` 
FROM Verlage AS v
LEFT OUTER JOIN  Buch AS b  
ON b.VerlagID = v.ID
GROUP BY v.ID, v.Verlag 
ORDER BY v.Verlag ASC
Beste Grüße,
Steffan

Re: SQL: Verknüpfte Tabellen, auch Nullwerte zählen

von pmoegenb » Fr, 30.10.2009 11:21

Hallo Steffan,

siehe viewtopic.php?f=8&t=29260. Das Problem war ähnlich gelagert.

SQL: Verknüpfte Tabellen, auch Nullwerte zählen

von Steffan » Fr, 30.10.2009 11:04

Hallo zusammen,

ich bastele gerade an einer kleinen Buch-DB. Darin gibt es u.a. eine Tabelle mit Büchern und eine mit Verlagen.
Tabelle 'Verlage':
- ID
- Verlag
Tabelle 'Buch':
- ID
- Titel
...
- VerlagID
...

Um herauszufinden wieviele Bücher ich den einzelnen Verlagen zugeordnet sind, habe ich folgende Abfrage geschrieben:

Code: Alles auswählen

SELECT Verlage.ID, Verlage.Verlag, COUNT( Buch.VerlagID ) 
FROM Buch, Verlage 
WHERE Buch.VerlagID = Verlage.ID 
GROUP BY Verlage.ID, Verlage.Verlag 
ORDER BY Verlage.Verlag ASC
Das klappt soweit auch ganz gut. Allerdings kann es ja auch sein, dass ein Verlag definiert wurde, der bisher keinem Buch zu geordnet wurde. Dieser taucht in meinem Abfrageergebnis nicht auf. Wie muss die Abfrage aussehen, damit ich auch diese Verlage mit dem Zählergebnis 0 zurückbekomme.

Vielen Dank im Voraus für Eure Antworten,
Steffan

Nach oben