Halihallo Emil
Mir ist gerade etwas aufgefallen. Ich wollte ein LEFT JOIN machen und alle Tabellen Zählen. Also habe ich COUNT(tabelle1.*) angegeben, aber das führt zu einer Fehlermeldung. Aber mit COUNT(*) funktioniert es.
Nun, das Ergebnis einer SQL-Abfrage ist wieder eine ganz "normale" _einzelne_ Tabelle,
eine Angabe der Tabelle macht also keinen Sinn. COUNT(*) gibt dir einfach die Anzahl
Datensätze in dem SQL-Ergebnis zurück. Zudem sei angemerkt, dass COUNT(*) eine
Aggregatsfunktion ist, demnach eigentlich mit GROUP BY zu verwenden ist[1].
Ein Beispiel, was gleich auch deine Frage beantwortet:
SELECT erste.id, COUNT(*)
FROM erste_tabelle AS erste
LEFT OUTER JOIN zweite_tabelle AS zweite ON zweite.erste_id=erste.id
GROUP BY erste.id
so kannst du zu jeder erste.id die Anzahl Datensätze in der Tabelle zweite_tabelle
ausgeben lassen, die über zweite.erste_id=erste.id verknüpft werden. Beispiel im
Beispiel: Du hast Kunden, die Artikel bestellten => Wieviele Artikel pro Kunde?
[1] Natürlich geht's auch ohne GROUP BY...
Viele Grüsse
Philipp