IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Regrouper 3 update en une seul requête


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut Regrouper 3 update en une seul requête
    Bonjour à tous et à toutes,
    Mon problème est de réussir à interchanger les valeurs d'une même colonne et en une seul requête mysql. Ma base de données est une base de données d'employés travaillant tous dans un département. La table s'appelle emp et les départements sont notés ND. Je dois donc réussir à faire passer tous les employés qui travaillent dans le département (ND) 20 dans le 30 et les employés travaillant dans le 30 dans le 20 mais en une seul requête. J'ai donc réussi a effectuer le changement en 3 requêtes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    update emp set ND=999 where ND=20;
    update emp set ND=20 where ND=30;
    update emp set ND=30 where ND=999;
    J'ai mis la table en pièce jointe pour vous aider à comprendre mon problème. Je dois aujourd'hui réussir à effectuer les même changements en une seule requête.
    Mais je ne trouve ni le moyen de réunir ces trois update, ni un autre moyen mathématique.

    Merci d'avance pour vos réponses.
    Images attachées Images attachées  

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Bonjour,

    Peut-être à l'aide d'un CASE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE emp
    SET nd = 
        CASE WHEN nd = 20 THEN 30
                 WHEN nd = 30 THEN 20
        END
    WHERE nd IN (20, 30);
    À tester a minima dans une transaction avant de valider...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 4
    Par défaut
    Merci infiniment, la requête fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Joindre requêtes SELECT et UPDATE en une seule ? Et recheche sur valeurs "similaires".
    Par Mickey7312 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 07/08/2014, 00h16
  2. Réponses: 2
    Dernier message: 22/10/2012, 16h48
  3. Regrouper 2 update dans une seule requête
    Par pol2095 dans le forum Requêtes
    Réponses: 12
    Dernier message: 28/10/2011, 22h58
  4. Update conditionné, en une seule requête
    Par Morphee_ dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/05/2011, 17h29
  5. Réponses: 2
    Dernier message: 01/10/2010, 15h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo