Je me permets de laisser un message ici car je bloque depuis pas mal de temps sur une requête qui fonctionne parfaitement mais à l'ajout d'un élément j'obtiens un double résultat, étant débutant PHP/SQL je ne sais pas trop comment résoudre ça...
La requête va chercher dans une base de données GLPI les éléments que je veux, tout fonctionne, mais lorsque je rajoute les moniteurs:
LEFT OUTER JOIN glpi_computers_items
ON glpi_computers.id = glpi_computers_items.computers_id
LEFT OUTER JOIN glpi_monitors
ON glpi_computers_items.items_id = glpi_monitors.id
Mes résultats sont bons mais d'une part en affichage la requête ne sort qu'un moniteur sur les deux si il y en a deux et lorsqu'il y en a deux cela double mes résultats pour computermacname
GROUP_CONCAT(glpi_networkports.name,' | ',glpi_networkports.mac) as computermacname
Voici la requête complète
SELECT glpi_computers.name as computername,
glpi_computers.id as computerid,
glpi_computers.serial as computerserial,
glpi_computers.contact as personne,
glpi_documents.id as documentid,
glpi_documents_items.items_id as itemid,
glpi_documents.id as docid,
glpi_documents.filename as filename,
glpi_documents.filepath as filepath,
glpi_computers_items.itemtype as moniteurs1,
glpi_monitors.name as moniteurs2,
glpi_plugin_fusioninventory_agents.last_contact as contact,
glpi_plugin_fusioninventory_inventorycomputercomputers.remote_addr as ip,
GROUP_CONCAT(glpi_networkports.name,' | ',glpi_networkports.mac) as computermacname
FROM glpi_computers
INNER JOIN glpi_plugin_fusioninventory_agents
ON glpi_computers.id = glpi_plugin_fusioninventory_agents.computers_id
LEFT OUTER JOIN glpi_documents_items
ON glpi_computers.id = glpi_documents_items.items_id
LEFT OUTER JOIN glpi_documents
ON glpi_documents.id = glpi_documents_items.documents_id
LEFT OUTER JOIN glpi_networkports
ON glpi_computers.id = glpi_networkports.items_id
LEFT OUTER JOIN glpi_computers_items
ON glpi_computers.id = glpi_computers_items.computers_id
LEFT OUTER JOIN glpi_monitors
ON glpi_computers_items.items_id = glpi_monitors.id
LEFT OUTER JOIN glpi_plugin_fusioninventory_inventorycomputercomputers
ON glpi_computers.id = glpi_plugin_fusioninventory_inventorycomputercomputers.computers_id
WHERE glpi_computers.name $like
GROUP BY glpi_computers.id
ORDER BY glpi_computers.id ASC
Je ne sais pas si j'ai été clair concernant ce problème mais je vous remercie d'avance si quelqu'un a la gentillesse de me donner un coup de pouce !
Bonne journée !
- Edité par slayn2125 20 juillet 2021 à 10:50:16
Requête SQL SELECT double résultats
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.