SQL Statement mit JOIN

stetabar

Mitglied
Hallo zusammen,

ich habe mal eine Frage. Ich versuche gerade einen View zu bauen, mit dem ich aus einer Tabelle mit Usern und einer Tabelle mit Emails zählen will, wieviele Emails der User erhalten hat.

Diese Abfrage funktioniert so:

Code:
SELECT user.id, t1.counter as email FROM user 
LEFT JOIN (SELECT COUNT(*) as counter, user_to
  FROM email Group by user_to) as t1 ON user.id = t1.user_to

Die Tabellen:

user
------------
id|user
1|user1
2|user2
3|user3

email
-----------
id|user_to
1|1
2|1
3|3
4|1
5|3

Somit erhalte ich eine Tabelle:

id|email
1|3 (Userid 1 hat 3 Emails)
2| (Userid 2 hat keine Emails)
3|2 (Userid 3 hat 2 Emails)

Ich möchte aber auch bei User 2 dann zumindest eine 0 angezeigt bekommen, wenn es keine Emails für User 2 gibt...
Ich habe alles mögliche versucht, aber vielleicht suche ich auch nach der falschen Sache?!

Ich muss gestehen, ich stehe jetzt einfach aufm Schlauch und weiß nicht mehr weiter...

Wäre schön, wenn da jemand eine Idee hätte...Danke
 
Hallo!
Das kannst du mit case machen

PHP:
select case when count(*) is null then 0 else count(*) end as counter, user_to....

Gruß Ratze
 
Zurück