Autor Zpráva
RiZe
Profil
Mám tabulku článků (id, datum, text, autor ....) a tabulku komentářů k článkům (id, id_clanku, text, autor, ip, ....). Při generování seznamu článků používám dotaz:


SELECT n.*, a.user_name AS article_author_name, a.user_email AS article_author_email,
e.user_name AS article_editor_name, e.user_email AS article_editor_email
FROM ".CTH_ARTICLES." n
INNER JOIN ".CTH_USERS." a ON n.article_author = a.user_id
INNER JOIN ".CTH_COMMENTS." c ON c.article_article = n.article_id
LEFT JOIN ".CTH_USERS." e ON n.article_editedby = e.user_id
ORDER BY n.article_date DESC
LIMIT $start, $limit


K tomuto dotazu bych potřeboval nějak přidat ještě část, která by vybrala počet komentářů k článku a to podle vztahu ID článku = ID článku komentáře. Experimentoval jsem s tím, ale házelo to chyby a už fakt nevím, buď to bude tak primitivní, že mě to nenapadlo a nebo to nepůjde :). Dotaz na vybrání počtu komentářů:


SELECT COUNT(*) FROM ".CTH_COMMENTS."
WHERE entry_article = '".$articleId."'


entry_article Sloupec v tabulce komentářů udržuje ID článku ke kterému patří
$articleId ID článku
BetaCam
Profil
Vzhledem k tomu, že tu aplikaci nemam před sebou tak sem to nezkoušel, ale nestačilo by neco jako



SELECT n.*, a.user_name AS article_author_name, a.user_email AS article_author_email,
e.user_name AS article_editor_name, e.user_email AS article_editor_email, COUNT (*) AS pocet
FROM ".CTH_ARTICLES." n
INNER JOIN ".CTH_USERS." a ON n.article_author = a.user_id
INNER JOIN ".CTH_COMMENTS." c ON c.article_article = n.article_id
LEFT JOIN ".CTH_USERS." e ON n.article_editedby = e.user_id
GROUP BY n.article_id
ORDER BY n.article_date DESC
LIMIT $start, $limit
?? Popřípadě napiš jakou chybu ti to při tvejch experimentech házelo :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: