Salut à tous !
Voilà, je dois faire une requête afin de récupérer 3 données, celle-ci se trouvant dans des tables différentes. De plus, je suis obligé de passer par des tables intermédiaires afin de pouvoir afficher mon résultat, et je dois dire que je bloque un peu en ce moment...
Voici mon schéma :
contactgroup_service_relation
cg_id
service_id
host
host_id
host_name *
host_service_relation
host_id
service_id
service
service_id
service_description *
contactgroup
cg_id
cg_name *
Voilà, vous trouverez en gras les noms de tables, en couleurs les attributs communs de chaque tables et l'asterisk correspond aux attributs que je veux afficher (donc 3 en tout)
Concrètement, ces tables font partie d'oréon (logiciel de supervision) et je voudrais afficher le nom de machine, la description de service associée et enfin le nom du groupe qui s'occupe de cette machine.
Je le veux bien entendu pour chaque machine.
Actuellement, j'effectue cette requête :
Malheureusement, cette requête ne m'affiche pas toute les informations nécessaires : en effet, je suis bloqué à un seul groupe de contact, je ne possède donc pas toute les machines.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT host.host_name, service.service_description, contactgroup.cg_name FROM host INNER JOIN host_service_relation ON ( host.host_id = host_service_relation.hsr_id ) INNER JOIN service ON ( service.service_id = host_service_relation.service_service_id ) INNER JOIN contactgroup_service_relation ON ( service.service_id = contactgroup_service_relation.service_service_id ) INNER JOIN contactgroup ON ( contactgroup_service_relation.contactgroup_cg_id = contactgroup.cg_id )
Je ne comprends pas en quoi je demande de n'afficher qu'un seul groupe de contact...
Voilà, si quelqu'un peu m'aiguiller (ça me gave de pas trouver tout seul déjà :/), je veux bien un petit coup de main !
Merci d'avance !
Edit : voilà ce que j'obtiens pour le moment ;
host_name service_description cg_name
Machine1 Svc_Mysql_Arcelor Support_24x7
Machine2 Svc_logon_AFIC Support_24x7
Machine3 Svc_Mysql_matra Support_24x7
Machine4 Svc_Mysql_fgame Support_24x7
Machine5 Svc_FTP Support_24x7
Machine6 Svc_Mysql_cstn Support_24x7
Le problème est que j'ai beaucoup plus de host_name dans ma base. Le tri semble se faire uniquement sur le goupe Support_24x7 alors que j'en ai bien d'autre...
Partager