Probleem als COUNT == 0

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark D

Mark D

21/01/2007 11:01:00
Quote Anchor link
Ik 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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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


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

PHP hulp

19/11/2024 20:35:27
 
- Jim  -

- Jim -

21/01/2007 11:04:00
Quote Anchor link
moet je niet je COUNT() in je where clause zetten?
 
Mark D

Mark D

21/01/2007 11:17:00
Quote Anchor link
Nee, want dan selecteer ik bericht die een bepaald aantal reacties heeft en niet alle berichten ;)
 
Joren de Wit

Joren de Wit

21/01/2007 11:22:00
Quote Anchor link
Dan zul je een LEFT JOIN moeten gebruiken in plaats van de INNER JOIN die jij nu gebruikt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
LEFT JOIN
    replies
ON
    replies.pid = p.id
WHERE
    u.id=p.Poster
GROUP BY
    p.id
ORDER BY
    p.Time DESC
LIMIT 8
 
Mark D

Mark D

21/01/2007 11:37:00
Quote Anchor link
Nou geeft ie de melding dat p.id niet bestaat in de ON clause :(
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
 
Joren de Wit

Joren de Wit

21/01/2007 11:51:00
Quote Anchor link
Klopt, dat was de fout ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.