Anzahl der Übereinstimmungen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
ahnung
anzahl
autor
code
datum
eintrag
frage
hinweis
jemand
klappen
kommentar
limit
offset
ordern
performance
problem
spalte
stellen
tabelle
-
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? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage