Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Rufen Sie die Anzahl der Datensätze in der untergeordneten Tabelle ab

Das sollte es tun:

SELECT ID, COUNT(ID) AS RECCOUNT FROM CHILD_TABLE
GROUP BY ID;

Um die Datensätze basierend auf der ELTERN-ID zu erhalten, können Sie Folgendes tun:

SELECT P.ID, P.NAME, COUNT(C.ID) FROM
PARENT P LEFT OUTER JOIN CHILD C
ON P.ID = C.ID
GROUP BY P.ID, P.NAME;

SQL FIDDLE HIER :http://sqlfiddle.com/#!8/08d58/3

Left Outer Join führt zu einer Anzahl von Datensätzen von 0 für übergeordnete IDs, die keine entsprechenden untergeordneten Datensätze haben.