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 :

1 colonne, 3 mises à jour possibles


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 9
    Points : 7
    Points
    7
    Par défaut 1 colonne, 3 mises à jour possibles
    Bonjour,

    Est-il possible en 1 seule opération de mettre à jour une colonne selon 3 cas ?

    Je m'explique :

    Si cas1 alors tab1.col1 = A*B*C
    Si cas 2 alors tab1.col1 = A*B
    Si cas3 alors tab1.col1 = A*B*D
    Sachant que B et D sont issues d'une autre table.

    Je pensais à la fonction 'CASE When ' mais je n'arrive pas à l'écrire.

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Sous quel SGBD es tu ?
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  3. #3
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE laTable
    SET leChamp = (SELECT CASE WHEN aa THEN xx
                          CASE WHEN bb THEN yy
                          CASE WHEN cc THEN zz 
                          END
                   FROM ...
                   WHERE...)
    WHERE...
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Sinon il y a aussi la solution du decode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select dECODE ( dummy, 'a', 'a',  DECODE(dummy, 'b', 'b', 'reste'))
    from (select 'b' as dummy from dual)
    Change les valeur de select 'b' en select 'a'a pour voir.

    Bon ok je rentre à ma maison
    et je vais me faire
    Steve Hostettler
    est ton ami(e) et le tag aussi.

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/07/2010, 16h27
  2. Réponses: 2
    Dernier message: 05/02/2007, 10h19
  3. [Excel] Mise à jour par colonnes
    Par Kamo76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/12/2006, 16h34
  4. Mise à jour auto MIDlet possible ?
    Par infotron dans le forum Java ME
    Réponses: 7
    Dernier message: 27/07/2006, 14h18

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