+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Membre à l'essai
    Inscrit en
    mars 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 105
    Points : 21
    Points
    21

    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 Expert
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    septembre 2007
    Messages
    657
    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 : 657
    Points : 1 257
    Points
    1 257

    Par défaut

    je suis sous orale, mais je pense tu trouveras l'equivalent en SQL serveur.

    Code :
    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
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  3. #3
    Membre à l'essai
    Inscrit en
    mars 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 105
    Points : 21
    Points
    21

    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 :
    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 :
    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 Expert
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    septembre 2007
    Messages
    657
    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 : 657
    Points : 1 257
    Points
    1 257

    Par défaut

    tu peux compléter la requête comme suit :

    Code :
    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
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  5. #5
    Membre à l'essai
    Inscrit en
    mars 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 105
    Points : 21
    Points
    21

    Par défaut

    Merci, Exactement ce que je voulais.

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •