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 2016-10-12 14:21:09

Frigotz
Member
Registered: 2016-10-12
Posts: 7

[Requête MYSQL] Afficher le technicien d'un ticket

Bonjour,

Pouvez-vous m'aider ?
Voilà mon problème, je cherche a select des informations spécifiques dont le technicien attaché au ticket de la base de donnée GLPI.

Voici ma première requête qui semble fonctionner  :

    
SELECT `glpi_ticketsatisfactions`.`tickets_id` , `glpi_tickets`.`name` ,`date` ,`closedate` ,`glpi_ticketsatisfactions`.`comment` ,`satisfaction` ,`satisfaction2` , `status`
FROM `glpi_ticketsatisfactions`,`glpi_tickets`
WHERE `glpi_ticketsatisfactions`.`tickets_id` = `glpi_tickets`.`id`

Cela affiche :

http://hpics.li/d777484

Il y a 226 enregistrements.

Maintenant c'est là que mon problème intervient. Je veux rajouter le champ nom & prénom du technicien attaché à tel ticket.
Dooonc voici ma nouvelle requête :

        
SELECT `glpi_ticketsatisfactions`.`tickets_id` , `glpi_tickets`.`name` ,`date` ,`closedate` ,`glpi_ticketsatisfactions`.`comment` ,`satisfaction` ,`satisfaction2` , `status`,`realname`,`firstname`
FROM `glpi_ticketsatisfactions`,`glpi_tickets`,`glpi_users`
WHERE `glpi_ticketsatisfactions`.`tickets_id` = `glpi_tickets`.`id` AND `glpi_ticketsatisfactions`.`tickets_id` = `glpi_users`.`id`

Cela m'affiche :

http://hpics.li/76e83d6

Le truc c'est que les informations nom & prénom (donc carré rouge) sont fausses. (Vérifié sous GLPI).
Deplus il n'y a plus que 63 enregistrement (lignes) au lieu de 226.
Je pense que c'est un problème lié au jointure ?

Merci d'avance poour votre aide !
Je continue de chercher la solution, et j'éditerai.

Last edited by Frigotz (2016-10-12 14:21:41)

Offline

#2 2016-10-12 15:56:56

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

Re: [Requête MYSQL] Afficher le technicien d'un ticket

Bonjour,
il vous manque au moins une jointure avec glpi_tickets_users

SELECT `glpi_ticketsatisfactions`.`tickets_id` , `glpi_tickets`.`name` , `date` , `closedate` , `glpi_ticketsatisfactions`.`comment` , `satisfaction` , `satisfaction` , `status` , `realname` , firstname
FROM `glpi_ticketsatisfactions`
JOIN `glpi_tickets` ON `glpi_tickets`.id = `glpi_ticketsatisfactions`.`tickets_id`
JOIN glpi_tickets_users ON glpi_tickets_users.`tickets_id` = `glpi_tickets`.id
AND glpi_tickets_users.type =2
JOIN glpi_users ON glpi_users.id = glpi_tickets_users.users_id


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 2016-10-17 09:17:57

Frigotz
Member
Registered: 2016-10-12
Posts: 7

Re: [Requête MYSQL] Afficher le technicien d'un ticket

Effectivement il me manquait des jointures, ou alors elles n'étaient pas bien associées..

SELECT `glpi_ticketsatisfactions`.`tickets_id`
        ,`glpi_tickets`.`name`
        ,`date`
        ,`closedate`
        ,`glpi_ticketsatisfactions`.`comment`
        ,`satisfaction`
        ,`satisfaction2`
        ,`status`
        , CONCAT(`realname`, ' ', `firstname`) AS Technicien
FROM `glpi_ticketsatisfactions`
    ,`glpi_tickets`
    ,`glpi_users`
    ,`glpi_tickets_users`
WHERE `glpi_ticketsatisfactions`.`tickets_id` = `glpi_tickets`.`id`
    AND `glpi_tickets`.`id` = `glpi_tickets_users`.`tickets_id`
    AND `glpi_tickets_users`.`users_id` = `glpi_users`.`id`
    AND `glpi_tickets_users`.`type` = 2
    AND `glpi_tickets`.`closedate` IS NOT NULL
ORDER BY `glpi_ticketsatisfactions`.`tickets_id`

Offline

Board footer

Powered by FluxBB