You are not logged in.
Bonjour à tous,
Je viens encore aujourd'hui vous embêter. Veuillez m'en excuser
Pendant la création de mes rapports, j'exécute pas mal de requête SQL, mais mon problème est qu'à chaque affichage des éléments de ma base dans mon rapport, il y a redondance. Autrement les informations affichées apparaissent en double voire même en triple. J'ai utilisé le SELECT DISTINCT... mais rien n'y faire. Quelqu'un a une idée de comment améliorer cette affichage?
J'utilise la version 9.1 de GLPI. Je vous remercie et toutes mes excuses pour un quelconque dérangement.
Ci-dessous la requête que j'essaie d'améliorer:
SELECT DISTINCT otherserial AS Numero_inventaire, glpi_computers.name AS Machines, glpi_entities.completename AS Entites, glpi_contracts.name AS Contrats, DATE_ADD(begin_date, INTERVAL duration MONTH) AS Fin_contrat
FROM glpi_computers, glpi_entities, glpi_contracts
INNER JOIN glpi_contracts_items
WHERE glpi_computers.id=glpi_contracts_items.items_id and glpi_entities.id=glpi_computers.entities_id
Last edited by miss (2017-05-16 13:57:06)
Offline
bonjour,
il vous manque :
glpi_contracts_items.itemtype='Computer' et vous n'avez pas lié contracts_items à contract :
SELECT glpi_computers.otherserial AS Numero_inventaire, glpi_computers.name AS Machines, glpi_entities.completename AS Entites, glpi_contracts.name AS Contrats, DATE_ADD(begin_date, INTERVAL duration MONTH) AS Fin_contrat
FROM glpi_computers
JOIN glpi_entities ON glpi_entities.id=glpi_computers.entities_id
JOIN glpi_contracts_items ON glpi_computers.id=glpi_contracts_items.items_id and glpi_contracts_items.itemtype='Computer'
JOIN glpi_contracts ON glpi_contracts.id=glpi_contracts_items.contracts_id
WHERE 1=1
Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6
Offline
Merci, mais pourquoi where 1=1?
Offline
vous pouvez remplacer par ce que vous voulez.
Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6
Offline
Dans quel but svp ?
Offline
je mets toujours une clause where. si je ne sais pas quoi mettre je mets 1=1, ça me permet d'ajouter facilement après
$sql =$sql+" AND ......";
vous aurez peut être besoin de filtrer par entité :
Where glpi_entities.id=1
ou par statut
Where glpi_computers.states_id=1
Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6
Offline
D'accord, je vous remercie
Last edited by miss (2017-05-16 13:56:09)
Offline