burningelch
Grünschnabel
Ich habe zwei Tabellen. Die Einträge in Tabelle B sind alle über das Feld 'A.id = B.A_id' einem Eintrag in Tabelle A zugeordnet (sprich A 1:n B).
Ist es möglich alle Einträge von A abzufragen und jeweils nur eine Zeile aus B darauf zu joinen?
Beispiel:
SELECT *, COUNT(*) as sum FROM (SELECT * FROM B GROUP BY A_id ORDER BY id) as 1 LEFT JOIN A ON A.id = B1.A_id GROUP BY A.wert;
Dieses Beispiel würde funktionieren, mir steht für das Projekt jedoch leider keine MySQL > 4.1 DB zur Verfügung und daher sind verschachtelte Abfragen nich drin.
Gibt es noch eine andere Möglichkeit um das gleiche Ergebnis zu erreichen? Ich habe schon zahlreiche JOIN Varianten ausprobiert, bin aber auf nichts hilfreiches gestoßen.
Eine normaler direkter JOIN funktioniert nicht, da sonst der COUNT(*) ein falsches Ergebnis leifert.
Ich hoffe mein Problem ist klar geworden.
Ist es möglich alle Einträge von A abzufragen und jeweils nur eine Zeile aus B darauf zu joinen?
Beispiel:
SELECT *, COUNT(*) as sum FROM (SELECT * FROM B GROUP BY A_id ORDER BY id) as 1 LEFT JOIN A ON A.id = B1.A_id GROUP BY A.wert;
Dieses Beispiel würde funktionieren, mir steht für das Projekt jedoch leider keine MySQL > 4.1 DB zur Verfügung und daher sind verschachtelte Abfragen nich drin.
Gibt es noch eine andere Möglichkeit um das gleiche Ergebnis zu erreichen? Ich habe schon zahlreiche JOIN Varianten ausprobiert, bin aber auf nichts hilfreiches gestoßen.
Eine normaler direkter JOIN funktioniert nicht, da sonst der COUNT(*) ein falsches Ergebnis leifert.
Ich hoffe mein Problem ist klar geworden.