dedlfix: SQL Statement - Count aus 2ter Tabelle

Beitrag lesen

Hi!

SELECT id,x,y,z FROM adm_ABC ORDER BY x
dies funktioniert problemlos nun möchte ich aber auch noch schauen wie oft die id als xid in einer anderen Tabelle auftaucht

Korrelierte Unterabfrage (correlated subquery) ist dein Suchstichwort.

SELECT a.id,a.x,a.y,a.z,b.COUNT(*) FROM adm_ABC a, adm_XYZ b, WHERE a.id=b.mid
dies funktioniert natürlich nicht, aber ich habe COUNT noch nicht ganz drin ...

COUNT() fasst wie alle Aggregatsfunktionen eine Ergebnismenge auf einen Wert zusammen. Dazu muss die Ergebnismenge auf anderem Weg zusammengestellt werden. COUNT() fragt keine Daten ab. Die Reihenfolge beim Abarbeiten eines SQL-Statements ist: Die FROM-Klausel legt die abzufragenden Daten fest. WHERE schränkt die Menge ein. GROUP BY fasst gleiche Daten zusammen. Dann erst wird der SELECT-Teil ausgewertet und auf die bis dato ermittelte Ergebnismenge angewendet.

ist es möglich so etwas zu benutzen wie COUNT(b.*) oder COUNT (b.WHERE a.id=b.mid) ?

Erste Hilfe bei solchen Fragen sollte das Handbuch geben. Findest du darin etwas passendes? Bestens. Wenn nicht, gibts was ähnliches? Wenn du es nicht verstehst, frag konkret.

Lo!