Jump to content

[Résolu] PostgreSQL select sur plusieurs tables


Recommended Posts

Bonjour

dans une base Postgres, je cherche à sélectionner l'id et l'adresse IP de mes controlleurs, ansi que le nombre d'entrées leur correspondant dans la table des logs.

j'utilise donc la commande suivante :

toto=> SELECT c.ctrl_id, c.host, COUNT(l.msgid) FROM controllers c, hid_log l WHERE l.ctrl_id = c.ctrl_id GROUP BY c.ctrl_id, c.host ORDER BY c.ctrl_id;
ctrl_id | host | count 
---------+------+-------
(0 rows)

la seconde table est vide, et dans ce cas, je veux pouvoir demander ses logs au controlleur... sauf que si aucun controlleur n'est retourné... ça m'aide pas...

pour vérifier, je lance la même commande, mais en cherchant à compter le nombre de 'portes' (longue histoire, je rentre pas trop dans les détails, c'est juste histoire de compter dans une table qui a été complété) qui lui sont associés

toto=> SELECT c.ctrl_id, c.host, COUNT(l.door_id) FROM controllers c, doors l WHERE l.ctrl_id = c.ctrl_id GROUP BY c.ctrl_id, c.host ORDER BY c.ctrl_id;
ctrl_id |	 host	 | count 
---------+--------------+-------
   1 | 192.168.0.70 |	 2
   2 | 192.168.0.71 |	 1
(2 rows)

(sachant qu'il me reste encore un controlleur, auquel je n'ai pas assigné de portes, et qui est donc absent de la réponse)

ma question est donc la suivante:

y a-t-il une astuce pour les COUNT() renvoyant 0 sur les select multi-tables ?

y aurait-il une autre solution ?

Merci !

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...