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 2019-05-03 11:34:02

TheStagiaire
Member
Registered: 2019-04-23
Posts: 30

Requête SQL

Bonjour,
Je suis en train de faire un programme permettant de mettre à jour la base de données du GLPI via l'API de Dell.
Je suis en pleine phase de développement mais lorsque je veux tester mon programme prend énormément de temps. De ce fait, il faut que je filtre les pc à récupérer afin d'avoir la plus petite liste possible pour que mon programme prenne le moins de temps possible à compiler.
Voici la requête SQL qui me permet de récupérer les pc  actifs, neuf, en stock et dont la date de dernière modification date d'il y a moins de 21 jours:

SELECT glpi_computers.serial FROM glpi_computers
JOIN glpi_manufacturers on glpi_manufacturers.id=glpi_computers.manufacturers_id
WHERE glpi_computers.states_id in (1,2,9)
AND glpi_computers.date_mod<DATE_ADD(now(), INTERVAL -22 DAY)
AND UPPER(glpi_manufacturers.name) LIKE ('DELL%' )

J'aimerai savoir dans quelle table dois-je regarder pour avoir les dernières dates de garanties du glpi car les pc dont la dernière dates de garanties remontent à quelques années ne serviront à rien. Autre question dans ma requête la condition "dernière modificationdate d'il y a 21 jours" ne fonctionnent pas correctement car je récupère quand même des pc qui ont été modifiés en janvier... Je voulais savoir si elle était bonne.

Merci de vos réponses.

Offline

#2 2019-05-03 11:53:28

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,532

Re: Requête SQL

vous avez les pc modifiés il y a longtemps ( plus de 22 jours)
si vous voulez le pc modifiés recement  ( moins de  de 22 jours), il faut remplacer < par >   dans AND glpi_computers.date_mod<DATE_ADD(now(), INTERVAL -22 DAY)


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.4.2(behaviours2.2.1+fusioninventoty 9.4+1.1+applicatifs2.5.0+fields 1.9.1)hebergé sur serveur mutualisé.

Offline

#3 2019-05-03 11:56:26

TheStagiaire
Member
Registered: 2019-04-23
Posts: 30

Re: Requête SQL

Merci beaucoup et pour voir la dernière date de garantie il faut bien regarder dans la table glpi_infocoms ?

Offline

#4 2019-05-03 11:57:04

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,532

Re: Requête SQL

pour la garantie il faut ajouter

JOIN glpi_infocoms ON glpi_infocoms.itemtype='Computer' AND glpi_infocoms.items_id=glpi_computers.id

et calculer la date de fin de garantie avec date de début et durée

edit : correction typo


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.4.2(behaviours2.2.1+fusioninventoty 9.4+1.1+applicatifs2.5.0+fields 1.9.1)hebergé sur serveur mutualisé.

Offline

#5 2019-05-03 11:59:06

TheStagiaire
Member
Registered: 2019-04-23
Posts: 30

Re: Requête SQL

Merci beaucoup je vais essayer ça.

Offline

#6 2019-05-03 14:02:21

TheStagiaire
Member
Registered: 2019-04-23
Posts: 30

Re: Requête SQL

Pouvez-vous me donner plus d'indications sur l'ajout de ces conditions à ma requête car depuis tout à l'heure je bloque dessus.
Merci

Offline

#7 2019-05-03 14:27:29

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 4,532

Re: Requête SQL

SELECT glpi_computers.serial, DATE_ADD(glpi_infocoms.warranty_date,INTERVAL glpi_infocoms.warranty_duration MONTH) AS FIN_GARANTIE
FROM glpi_computers
JOIN glpi_manufacturers on glpi_manufacturers.id=glpi_computers.manufacturers_id
JOIN glpi_infocoms ON glpi_infocoms.itemtype='Computer' AND glpi_infocoms.items_id=glpi_computers.id
WHERE glpi_computers.states_id in (1,2,9)
AND glpi_computers.date_mod>DATE_ADD(now(), INTERVAL -22 DAY)
AND UPPER(glpi_manufacturers.name) LIKE ('DELL%' )


Trouver la panne avant de réparer...
*GLPI 9.1.6+fusion9.1+1.1+behaviours1.5.0+reports+fields+appliances+pdf+badges+formcreator2.5.2 PHP7.0 Mariadb10
*GLPI 9.4.2(behaviours2.2.1+fusioninventoty 9.4+1.1+applicatifs2.5.0+fields 1.9.1)hebergé sur serveur mutualisé.

Offline

#8 2019-05-03 14:34:11

TheStagiaire
Member
Registered: 2019-04-23
Posts: 30

Re: Requête SQL

Merci beaucoup je vais l'adapter à mes besoins.

Offline

Board footer

Powered by FluxBB