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 2021-01-07 12:22:29

warmaster
Member
Registered: 2006-02-06
Posts: 57

Requete sql changement de champ "en masse" en lien avec autre champ

Bonjour à toutes et tous,

Je souhaiterais pouvoir modifier un champ sur plusieurs centaines de ticket, en mettant une valeur se basant sur la valeur d'un autre champ.
Je m'explique : j'ai un certain nombre de tickets (environ 18000) qui ont été clos depuis plusieurs années et dont je souhaiterai modifier le champ "lieu" (qui est actuellement vide) en mettant une valeur en se basant sur le champ "éléments".
Exemple concret par exemple mettre la valeur :
"STE" quand le champ "éléments" est "0-STE"
"SCO" quand le champ "éléments" est "0-SCO"
"DGS" quand le champ "éléments" est "0-DGS" ...etc j'ai 33 valeurs différentes, je peux coder la requête SQL en dur pour indiquer les 33 valeurs mais si quelqu'un a déjà fait des modif en masses via requête SQL je suis preneur de toute aide.

Par avance merci pour l'aide dont je pourrai bénéficier...

Offline

#2 2021-01-07 12:57:54

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

Re: Requete sql changement de champ "en masse" en lien avec autre champ

bonjour
Attention il n'y a pas de champ items dans la table des tickets, il peut y avoir 0,1, ou plusieurs items asscoié au ticket , assurez vous de n'en avoir qu'un seul.
qu'avez vous choisi comme type d'objet les éléments cités ?

les liens sont représentés par locations_id dans la table des tickets.
pour faire la correspondance sql je créerais des lieux avec le même libellé que l'objet et ensuite après la requêtes sql, je changerais le libellé des lieux

pour la correspondance, il vous faut des jointures entre
*table glpi_ticket et glpi_locations
* table glpi_tickets et table glpi_items_tickets
* table glpi_items_tickets  et la table qui contient vos items (o-STE...)

ensuite vous mettez à jour les lignes qui ont glpi_location.name=glpi_MonITEM.name  avec un set glpi_tickets.location_id=glpi_locations.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

Board footer

Powered by FluxBB