You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2017-05-16 09:02:47

miss
Member
Registered: 2017-05-05
Posts: 108

[Résolu]Requête SQL-Base de données GLPI (Création de rapport)

Bonjour à tous,
Je viens encore aujourd'hui vous embêter. Veuillez m'en excuser smile

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. smile

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

#2 2017-05-16 09:36:25

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

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

#3 2017-05-16 10:02:10

miss
Member
Registered: 2017-05-05
Posts: 108

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

Merci, mais pourquoi where 1=1?

Offline

#4 2017-05-16 10:04:15

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

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

#5 2017-05-16 10:07:08

miss
Member
Registered: 2017-05-05
Posts: 108

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

Dans quel but svp ?

Offline

#6 2017-05-16 10:15:08

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,145

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

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

#7 2017-05-16 10:29:11

miss
Member
Registered: 2017-05-05
Posts: 108

Re: [Résolu]Requête SQL-Base de données GLPI (Création de rapport)

D'accord, je vous remercie smile

Last edited by miss (2017-05-16 13:56:09)

Offline

Board footer

Powered by FluxBB