Urba: INNER JOIN + COUNT

Hallo Leute,

Ich arbeite momentan an folgendem Problem, allerdings komme ich ehrlichgesagt zu keiner Lösung.

Ich habe 3 Tabellen :

DBUser :  ID,Name,Vorname
DBAntworten : AAntwortID,AUserID
DBTopics : TTopicID, TUserID

Es handelt sich hierbei um ein Forum, dass ich schreibe. In DBAntworten wird eingetragen, wenn ein User eine neue Antwort gesendet hat und in DBTopics wenn er ein neues Thema eröffnet hat.

Nun möchte ich die Anzahl der Beiträge eines Users ermitteln. Dies soll in einer SQL-Abfrage stattfinden. Ich habe es bereits hinbekommen, dass ich die Anzahlen der Antworten ermittelt bekomme :

SELECT
  DBUser.Name,
  COUNT(DBAntworten.AAntwortID)

FROM
  DBUser
    INNER JOIN DBAntworten
    ON DBAntworten.AUserID = DBUser.ID

GROUP BY DBAntworten.AUserID

erhalte ich den User mitsamt den bisher erstellten Antworten. Nun besteht allerdings das Problem, dass ich keine Ahnung habe wie ich in derselben Abfrage auch noch das mit den Topics hinbekommen soll. Die Gesamtanzahl der Beiträge = Antworten + Topics. Von daher brauche ich beide.

Hat jemand von euch irgendeine Ahnung wie ich das machen soll ? Ich weiss zwar dass ich erneut einen INNER JOIN brauche, allerdings weiss ich 1.) nicht so wirklich wie ich den noch einbauen soll und 2.) weiss ich nicht wie das mit dem COUNT dann funktionieren sollte.

Würde mich freuen Antwort von euch zu erhalten.
Gruss
Urba

  1. yo,

    versuch mal

    SELECT u.Name, COUNT(*)
    FROM DBUser u, DBAntworten a, DBTopics t
    WHERE a.AUserID = u.ID AND u.ID = t.TUserID
    GROUP BY u.ID, u.name;

    Ilja