Aller au contenu

[Résolu] PostgreSQL select sur plusieurs tables


Mephisto

Messages recommandés

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 !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...