Anzahl der Themen mit-abfragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anzahl der Themen mit-abfragen

    Hallo.
    Ich frage mit folgender sql Anweisung den sub und title eines Forums ab.

    SQL-Abfrage

    1. SELECT `sub`, `title` FROM `forums` WHERE `id`=1;


    Jetzt würde ich aber auch gerne die Anzahl der Themen innerhalb dieses Forums mitabfragen.
    Die Tabelle der Themen heißt `topics` und die `sub`-Spalte der Themen sagt aus,
    in welchem Forum sie liegt.

    Sowas wie

    SQL-Abfrage

    1. SELECT forums.sub, forums.title, topics.COUNT(*) As topics.count_topics FROM forums, topics WHERE forums.id=1 AND topics.sub=forums.id;


    Das größte Problem aber ist, dass ein Forum auch noch weitere Foren beinhalten kann
    und dessen sub-Spalte entscheidet, in welchem übergeordneten Forum dieses
    liegt. Und die Themen innerhalb dieses weiteruntergeordneten Forums gehören
    auch zu der Anzahl der Themen des abzufrageden Forums.

    Wie bekomme ich es hin, ohne haufenweise Schleifen, die an die tausend Abfragen senden?
    Das muss mit MySql doch möglich sein?
  • Ansonsten ist es bei gängigen Forensystemen auch üblich, dass die Anzahl der Themen / Posts und das letzte aktive Thema (z.B.) in dem Datensatz zum Forum gespeichert wird, um die Serverlast zu verringern.
    Die aktualisieren sich natürlich automatisch, aber für den Admin (wenn der rumpfuscht) gibts da dann auch immer Funktionen, um diese Anzeigen manuell zu aktualisieren.
    Die Japaner glauben jetzt auch, sie könnten den Superrechner verkaufen. Das wäre
    so, als würde man einen Jumbo-Jet nehmen, vorne und hinten die Spitzen absägen,
    davon 10 Stück zusammenschweißen und als ultimativen Super-Jet verkaufen.