warum ermittelst Du nicht im Subselect wirklich den gruppierten Wert? So hast Du ein typisch kaputtes Statement, das sowieso höchstens von MySQL akzeptiert wird. In allen DBMS (außer MySQL) musst Du - da Du eine Aggregatsfunktion einsetzt - nach allen Spalten gruppieren, die nicht aggregiert sind.
ja, so habe ich es gelöst. performance ist dank paginator. also hole ich nicht unendlich viele datensätze, sondern maximal 200. insofern ist das ok.
SELECT track.* , ( SELECT COUNT(*) FROM track_meta AS tm WHERE tm.track_id = track.track_id) AS meta_count , ( SELECT COUNT(*) FROM pool_track AS pt WHERE pt.track_id = track.track_id) AS pool_count
FROM track
WHERE track.make_user_id = 1
GROUP BY track.title
ORDER BY track.title asc
LIMIT 0,50
nun stelle ich mir die frage, warum ich eine WHERE nicht mit pool_track oder track_meta machen kann... da sagt mir mysql, dass diese nicht existieren. die ausgabe enhält aber felder mit diesen namen und den richtigen werten...