kostenloser Webspace werbefrei: lima-city


Anzahl der Übereinstimmungen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    oxfordgitarre

    oxfordgitarre hat kostenlosen Webspace.

    Hallo!
    Ich hoffe mein Problem ist nicht zu trivial, da ich eigentlich keine Fragen stellen will, die ich selbst durch suchen hätte beantworten können.
    Mein Problem:
    Ich habe drei Tabellen:
    1.Autoren
    2.Blog --> Enthält jeweils die ID des Autors
    3.Kommentare --> Enthält jeweils die ID des Eintrags auf den es sich bezieht

    Meine Bisherige SQL abfrage sieht wie folgt aus:

    $sql = \"SELECT
        			Blog.Datum,
        			Autoren.Name
    	      FROM
        			Blog,
        			Autoren
    	      WHERE
        			Blog.AutorID = Autoren.ID
    	      ORDER BY
        			Blog.Datum DESC
        	      LIMIT
        			\".$offset.\",\".$posts.\";\";


    Jetzt würde ich gerne in dieser Abfrage noch die Anzahl der jewiligen Blogeinträge mit ausgeben. Weis aber nicht, wie ich das machen soll. Es reicgt sogar auch nur sagen zu können, ob einer existiert.
    Kann mir dabei bitte jemand helfen?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. SELECT
    COUNT (Kommentare.ID) as Kommentaranzahl,
    [...]
    FROM
    [...]
    INNER JOIN Kommentare ON (Blog.ID = Kommentare.ParentID)
    WHERE
    [...]

    Sollte so klappen.
    Ansonsten setze dich mal allgemein mit Joins in SQL auseinander.

    MfG Lucas

    edit:
    \"as Kommentaranzahl\" hinzugefügt.

    Beitrag geändert: 2.6.2008 0:15:55 von lucas9991
  4. Autor dieses Themas

    oxfordgitarre

    oxfordgitarre hat kostenlosen Webspace.

    Juhuuuu!
    Ich habe es geschafft also meine Lösung sieht so aus
    \"         SELECT
                            COUNT(Kommentare.ParentID) as kommentaranzahl,
                            Blog.Datum,
                            Autoren.Name
                    FROM
                            Blog,
                            Autoren
                    LEFT OUTER JOIN
                            Kommentare
                    ON
                            Blog.ID = Kommentare.ParentID       
                    WHERE
                            Blog.AutorID = Autoren.ID
                    GROUP BY
                            Blog.Datum
                    ORDER BY
                            Blog.Datum DESC
                    LIMIT
                            \".$offset.\",\".$posts.\";\"

    Was ich immer falsch gemacht habe: Anutoren muss zuletzt stehen, damit der Join ausgeführt wird, sonst kam immer ide Fehlermeldung, dass die Spalte Blog.ID nicht existiert.
    Und man braucht einen left join, damit auch die Blogeinträge angezeigt werden, wenn sie keine Kommentare haben.
    Danke für den Hinweis lucas9991, ich hatte nämlich keine Ahnung nach was ich suchen sollte. Fals es eine Performance freundlichere Lösung gibt, dann freu ich mich auf weitere Hinweise.

    MFG Julian
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!