Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête SQL SELECT double résultats

Sujet résolu
    20 juillet 2021 à 10:48:51

    Aujourd’hui, 09:14

    Bonjour,

    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

    • Partager sur Facebook
    • Partager sur Twitter

    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.
    • Editeur
    • Markdown