Toon posts:

[mySQL] GROUP BY werkt niet zoals ik wil.

Pagina: 1
Acties:

Verwijderd

Topicstarter
in de ene tabel staan de nieuws items, en in de andere de reacties,

nu wil ik alle items uit de db halen, en daarbij het aantal reacties,
code:
1
2
3
4
SELECT n.uin,n.datum,n.titel,n.bericht,n.bron,n.lastupdate,count(c.uin) as aantal 
FROM news n, news_comments c 
WHERE n.uin=c.newsid 
GROUP BY c.newsid


maar de items waar nog geen reacties bij geplaatst zijn geeft ie niet weer....
hoe kan ik dit verhelpen...

Verwijderd

Je GROUP BY werkt wel zoals je wilt :) de fout zit em in het WHERE n.uin=c.newsid
Hij geeft nu alleen de items weer waar het n.uin en het c.newsid overeen komen = alleen items MET reacties

Je kan het oplossen door 2 Query's te maken

De eerste "loopt" door de news items

Bij elk item komt de 2e query >>
De tweede "kijkt" bij elk item of er reacties zijn/selecteerd de bijbehorende reacties

Verwijderd

Kijk eens naar LEFT JOIN

  • robjanssen
  • Registratie: September 2001
  • Laatst online: 02-08 16:10

robjanssen

Software Developer

code:
1
2
3
4
SELECT n.uin,n.datum,n.titel,n.bericht,n.bron,n.lastupdate,count(c.uin) as aantal 
FROM news n
LEFT JOIN news_comments c ON n.uin = c.newsid
GROUP BY c.newsid