Helmuth: falsches Ergebnis bei Mehrfach-Join

Beitrag lesen

Hallo,

ich hab ja schon letztens die JOIN und fortgeschrittene JOINS Artikel gelesen, aber ich hab schon wieder eine Abfrage bei der ich nicht weiterkomm :o(

Zu den Daten aus Stammdaten (user_id, firmenname, etc.) soll für den jeweiligen User die Anzahl der Anfragen und die Anzahl der Angebote hinzugefügt werden.

Mit einem JOIN funktioniert die Abfrage. Möcht ich die Angebote zusätzlich abfragen, erhalte ich ein falsches Ergebnis. Nämlich das Produkt von Anfragen x Angebote!? Also bei 3 Anfragen und 2 Angeboten steht im Ergebnis 2 mal 6!

SQL-Befehl:
SELECT bizgap_stammdaten.mitglied_id, firmenname, kontosperre, DATE_FORMAT( lastlogin, '%d.%m.%Y %H:%i:%s' ) AS lastlogin, DATE_FORMAT( anmeldedatum, '%d.%m.%Y %H:%i:%s' ) AS anmeldedatum, COUNT( bizgap_anfragen.anfrage_id ) AS anzahl_anfragen,
COUNT( bizgap_angebote.angebot_id ) AS anzahl_angebote
FROM bizgap_stammdaten
LEFT JOIN bizgap_anfragen
ON bizgap_anfragen.mitglied_id = bizgap_stammdaten.mitglied_id
LEFT JOIN bizgap_angebote
ON bizgap_angebote.mitglied_id = bizgap_stammdaten.mitglied_id
GROUP BY bizgap_stammdaten.mitglied_id
ORDER BY 'bizgap_stammdaten.mitglied_id' ASC
LIMIT 0 , 30

Vielen Dank für eure Hilfe,

Helmuth