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

Langage SQL Discussion :

Update avec Condition If


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Par défaut Update avec Condition If
    Bonjour,

    Ça fait longtemps que je n'ai pas fait de SQL alors j'ai besoin de votre aide.
    J'aimerais faire un update avec conditions; mettre a jour une une colonne "Endroit" dépendant de la colonne "type".

    Endroit Type
    Maison 1
    Maison 2
    Maison 2
    Maison 3
    Maison 4

    Et je veux faire en sorte que lorsque:
    Type = 1 alors Endroit = Chambre
    Type = 2 alors Endroit = Salon
    Type = 3 alors Endroit = Cuisine
    Type = 4 alors Endroit = Jardin

    Tout pour être exécuté' sur une base de données SQL Server.

    Merci pour votre aide.

  2. #2
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    je suis sous orale, mais je pense tu trouveras l'equivalent en SQL serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    update la_table t set 
    nom = case 
     
    when t.Type = 1 then t.Endroit = 'Chambre'
    when t.Type = 2 then t.Endroit = 'Salon'
    when t.Type = 3 then t.Endroit = 'Cuisine'
    when t.Type = 4 then t.Endroit = 'Jardin'
    end

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Par défaut
    Citation Envoyé par islamov2000 Voir le message
    je suis sous orale, mais je pense tu trouveras l’équivalent en SQL serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    update la_table t set 
    nom = case 
     
    when t.Type = 1 then t.Endroit = 'Chambre'
    when t.Type = 2 then t.Endroit = 'Salon'
    when t.Type = 3 then t.Endroit = 'Cuisine'
    when t.Type = 4 then t.Endroit = 'Jardin'
    end
    Merci pour ta réponse islamov2000, j'ai essaye' ce qui suit sur une table test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    UPDATE table
       SET 
          Endroit = case 
       When [Type] = '1' then 'Chambre'
       When [Type] = '2' then 'Salon'
       When [Type] = '3' then 'Cuisine'
       When [Type] = '4' then 'Jardin'
     
    end
    Ça a fonctionné mais, j'avais dans la colonne Endroit d'autre valeur que je ne voulais pas toucher, mais le code ci-dessus les a remplacé par 'NULL' car apparemment qd il ne trouve pas la condition qui va alors il remplace par NULL.

    Il n'y a pas un moyen d’éviter ça?

  4. #4
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    tu peux compléter la requête comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    UPDATE TABLE
       SET 
          Endroit = case 
       When [Type] = '1' then 'Chambre'
       When [Type] = '2' then 'Salon'
       When [Type] = '3' then 'Cuisine'
       When [Type] = '4' then 'Jardin'
    else Endroit 
     
    end

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 109
    Par défaut
    Merci, Exactement ce que je voulais.

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

Discussions similaires

  1. Petit défi SQL (Update avec condition)
    Par Angeldu74 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 03/03/2009, 12h55
  2. Requete update avec condition
    Par how_much dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/01/2009, 13h45
  3. [VBA] update avec condition
    Par le_niak dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/09/2007, 10h42
  4. update avec condition sur autre table
    Par allowen dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/04/2005, 15h02
  5. UPDATE avec condition sur d'autres tables
    Par guda dans le forum Langage SQL
    Réponses: 7
    Dernier message: 10/03/2005, 11h20

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