• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einträge doppelt angewählt

Object

Neues Mitglied
Guten Abend.
Mich plagt folgender Query ein wenig:
Code:
SELECT
    `blogentrys`.*,
    `blogcategorys`.`title` AS title,
    (
        SELECT COUNT(*)
        FROM `blogcomments`
        WHERE `blogcomments`.`parentid` = `blogentrys`.`id`
    ) AS comments
FROM
    `blogentrys`,
    `blogcategorys`,
    `blogcomments`
WHERE `blogcategorys`.`id` = `blogentrys`.`categoryid`
ORDER BY `blogentrys`.`dateline` DESC
LIMIT 0,10
;

Hierbei werden alle Einträge doppelt angezeigt und ich verstehe nicht recht wieso?
 
Nimm blockcomments aus der Liste der Tabellen. Also:

Code:
SELECT
    `blogentrys`.*,
    `blogcategorys`.`title` AS title,
    (
        SELECT COUNT(*)
        FROM `blogcomments`
        WHERE `blogcomments`.`parentid` = `blogentrys`.`id`
    ) AS comments
FROM
    `blogentrys`,
    `blogcategorys`
WHERE `blogcategorys`.`id` = `blogentrys`.`categoryid`
ORDER BY `blogentrys`.`dateline` DESC
LIMIT 0,10
 
DISTINCT wäre nur eine Möglichkeit wenn es in der Ergebnismenge Dopplungen gibt. Dadurch könnte man sowas zwar unterbinden, aber es wäre nicht die richtige Lösung da sie auch nicht sehr performant ist und die Problemursache nicht am Kragen packt.
 

Neueste Beiträge

Zurück
Oben