Probleem als COUNT == 0
Mark D
21/01/2007 11:01:00Ik ben op dit moment bezig met een blog. De bedoeling is dat ik met de volgende query wat gegevens krijg van de post. Echter als er 0 reacties zijn (de reacties worden geteld met COUNT) wordt het bericht niet gefetcht.
Weet iemand hoe ik het bericht wel kan weergeven als er 0 reacties zijn en 'number' moet dan 0 zijn. Het probleem zit in de WHERE, waar ik de reacties selecteer die hetzelfde id hebben als de post. Dus als die er niet zijn wordt het record niet geselecteerd. Ik wil wel graag alles in 1 query houden, hopelijk is er een oplossing.
Alvast bedankt
Mark
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
SELECT
p.id,
p.Title,
u.name AS Poster,
p.Time,
p.Message,
p.AttachmentTitle,
p.AttachmentMime,
COUNT(replies.id) AS number
FROM
posts AS p,
users AS u,
replies
WHERE
replies.pid=p.id AND
u.id=p.Poster
GROUP BY
p.id
ORDER BY
p.Time DESC
LIMIT 8
p.id,
p.Title,
u.name AS Poster,
p.Time,
p.Message,
p.AttachmentTitle,
p.AttachmentMime,
COUNT(replies.id) AS number
FROM
posts AS p,
users AS u,
replies
WHERE
replies.pid=p.id AND
u.id=p.Poster
GROUP BY
p.id
ORDER BY
p.Time DESC
LIMIT 8
Weet iemand hoe ik het bericht wel kan weergeven als er 0 reacties zijn en 'number' moet dan 0 zijn. Het probleem zit in de WHERE, waar ik de reacties selecteer die hetzelfde id hebben als de post. Dus als die er niet zijn wordt het record niet geselecteerd. Ik wil wel graag alles in 1 query houden, hopelijk is er een oplossing.
Alvast bedankt
Mark
PHP hulp
19/11/2024 20:35:27- Jim -
21/01/2007 11:04:00Mark D
21/01/2007 11:17:00Joren de Wit
21/01/2007 11:22:00Dan zul je een LEFT JOIN moeten gebruiken in plaats van de INNER JOIN die jij nu gebruikt:
Mark D
21/01/2007 11:37:00Nou geeft ie de melding dat p.id niet bestaat in de ON clause :(
Ik weet zeker dat deze wel bestaat
Ik weet zeker dat deze wel bestaat
Edit:
Toen ik in het FROM ding de tabvel posts onderaan had gezet werkte het wel. Probleem is dus opgelost.
Gewijzigd op 01/01/1970 01:00:00 door Mark D