Ik ben bezig met een site waarvoor ik een eigenlijk vrij standaard MySQL query uit probeer te voeren. Echter stuit ik op een, voor mij vreemde en vervelende, "feature" van mijn query.
Zoals je ziet voer ik verschillende joins uit met andere tabellen. Dit gaat in het algemeen goed met de 'total_comments' en 'kudos_count'.
Echter, wanneer beide waardes niet gelijk zijn aan 0, dan wordt de output van 'kudos_count' vermenigvuldigd met de waarde van 'total_comments'. Dit hoort natuurlijk niet.
Ik ben geen expert op het gebied van MySQL (kom meer uit de javascript/html/css hoek) en hoop dat jullie mij de goede richting op kunnen sturen.
de query:
Zoals je ziet voer ik verschillende joins uit met andere tabellen. Dit gaat in het algemeen goed met de 'total_comments' en 'kudos_count'.
Echter, wanneer beide waardes niet gelijk zijn aan 0, dan wordt de output van 'kudos_count' vermenigvuldigd met de waarde van 'total_comments'. Dit hoort natuurlijk niet.
Ik ben geen expert op het gebied van MySQL (kom meer uit de javascript/html/css hoek) en hoop dat jullie mij de goede richting op kunnen sturen.
de query:
code:
1
2
3
4
5
6
7
8
9
| SELECT `f`.`feedname_output` , `f`.`feedname` , count( c.article_id ) AS `total_comments` , sum( ifnull( k.value, 0 ) ) AS `kudos_count` , `p` . * FROM `espr_articles` AS `p` LEFT JOIN `espr_feeds` AS `f` ON p.feed_id = f.feed_id LEFT JOIN `espr_comments` AS `c` ON p.article_id = c.article_id AND c.type = 'article' LEFT JOIN `espr_kudos` AS `k` ON p.article_id = k.article_id GROUP BY `p`.`article_id` ORDER BY `p`.`ts_created` DESC LIMIT 50 |
Signatures zijn voor mietjes!