Hallo HaBo,
folgende Situation:
Ich habe 3 Tabellen...
- page_news
- page_users
- page_comments
... und will bestimmte Felder aus der page_news auslesen. In der page_news steht nur eine ID fuer den Benutzer, welche mit den Benutzerinformationen aus der page_users verknuepft ist. Soweit ist das kein Problem, Abfrage funktioniert mit einer WHERE-Anweisung einwandfrei.
Jetzt will ich allerdings die Anzahl der Kommentare des jeweiligen Beitrages auslesen. Die Abfrage einfach um ein 'COUNT(page_comments.*) AS count' ... 'WHERE page_comments.news_id = page_news.id' zu erweitern funktioniert leider nicht.
Auch ein LEFT JOIN bekomme ich nicht zum Laufen. Ich such schon seit 2 Stunden nach dem Fehler, kann aber keinen entdecken. Dazu kommt, dass ich mir nicht sicher bin, an welche Stelle das LEFT JOIN gehoert, wenn ich noch weitere einschraenkungen wie LIMIT oder WHERE benutze.
Waere nett, wenn ihr da mal einen Blick drauf werfen wuerdet, vielleicht seht ihr den Fehler ja sofort.
Die Abfrage:
Ach ja: wenn man kein LEFT JOIN benutzt sondern nur die WHERE-Anweisung (wenn ich mich nicht irre ist das gleich einem JOIN), zeigt er nur die Eintraege an, wo Kommentare existieren.
mfg
snoggo
folgende Situation:
Ich habe 3 Tabellen...
- page_news
- page_users
- page_comments
... und will bestimmte Felder aus der page_news auslesen. In der page_news steht nur eine ID fuer den Benutzer, welche mit den Benutzerinformationen aus der page_users verknuepft ist. Soweit ist das kein Problem, Abfrage funktioniert mit einer WHERE-Anweisung einwandfrei.
Jetzt will ich allerdings die Anzahl der Kommentare des jeweiligen Beitrages auslesen. Die Abfrage einfach um ein 'COUNT(page_comments.*) AS count' ... 'WHERE page_comments.news_id = page_news.id' zu erweitern funktioniert leider nicht.
Auch ein LEFT JOIN bekomme ich nicht zum Laufen. Ich such schon seit 2 Stunden nach dem Fehler, kann aber keinen entdecken. Dazu kommt, dass ich mir nicht sicher bin, an welche Stelle das LEFT JOIN gehoert, wenn ich noch weitere einschraenkungen wie LIMIT oder WHERE benutze.
Waere nett, wenn ihr da mal einen Blick drauf werfen wuerdet, vielleicht seht ihr den Fehler ja sofort.
Die Abfrage:
Code:
SELECT
page_news.id AS id,
page_news.date AS date,
page_news.user_id AS user_id,
page_news.title AS title,
page_news.text AS text,
page_news.image AS image,
page_news.image_title AS image_title,
page_users.username AS user_name,
COUNT(page_comments.*) AS cnt
FROM
page_news,
page_users
LEFT JOIN
page_comments
ON
page_comments.news_id = page_news.id
WHERE
page_news.user_id = page_users.id
ORDER BY
page_news.id DESC
LIMIT
0, 5
Ach ja: wenn man kein LEFT JOIN benutzt sondern nur die WHERE-Anweisung (wenn ich mich nicht irre ist das gleich einem JOIN), zeigt er nur die Eintraege an, wo Kommentare existieren.
mfg
snoggo