Använd outer join
SELECT u.id,COUNT(m.id) AS antal FROM users AS u left outer join messages AS m on u.id=m.userid GROUP BY u.id;
------------------
essentitia preter non sans multiplicandum
1 svar · 205 visningar · startad av schutzer
Jag har två tabeller, en med användare (users) och en med inlägg (messages).
I users finns bla fältet id.
I messages finns bla id och userid.
Nu vill jag räkna hur många inlägg varje användare gjort och detta gör jag med:
SELECT u.id,COUNT(m.id) AS antal FROM users AS u,messages AS m WHERE u.id=m.userid GROUP BY u.id;
Detta fungerar utmärkt förutom i det fall när användaren inte har gjort några inlägg. Då vill man ju att antal ska bli noll och inte att den raden helt ska försvinna.
Någon som har en aning om hur man kan lösa det?
Använd outer join
SELECT u.id,COUNT(m.id) AS antal FROM users AS u left outer join messages AS m on u.id=m.userid GROUP BY u.id;
------------------
essentitia preter non sans multiplicandum