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

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Transformer un nombre positif en négatif
    Bonjour, J'ai un select comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT
              Z40INDM, 
              Z40BCA+U40BCA,
              Z30BCA+U30BCA,
              Z20BCA+U20BCA,
              Z10BCA+U10BCA+U05BCA
    FROM ZDDBCA
    Les 3 colonnes donne des nombres positif mais j'aimerai TOUS les transformé en nombre nefatif si Z40INDM = 2.
    Exemple: 2000 = -2000

    Je débute en SQL et c'est un problème qui me dérange que j'aimerai résoudre...
    J'ai éssayé de faire un case mais sans succès..

  2. #2
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    4 908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 4 908
    Points : 13 843
    Points
    13 843
    Billets dans le blog
    1
    Par défaut
    bonjour,

    Tout simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select case when Z40INDM = 2
                then abs(Z40BCA+U40BCA) * -1
                else Z40BCA+U40BCA
           end as montant1
    from ma_table
    where ...
    .

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup je test

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Et si je veux mettre plusieurs valeur? exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT CASE WHEN dkdkdkd = 2
                                                                        THEN ABS(col1+col2) * -1,
                                                                        THEN ABS(col3+col4) * -1,
                                                                        ELSE col1+col2, 
                                                                                col3+col4
                                                                        END

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    8 199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 8 199
    Points : 26 480
    Points
    26 480
    Par défaut
    Il faut autant d'expressions CASE..WHEN..END que de colonnes à retourner.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : septembre 2018
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Merci j'ai réussi

Discussions similaires

  1. [AC-2007] Nombre positif ou négatif en fonction d'un contrôle
    Par 69.zebulon dans le forum IHM
    Réponses: 4
    Dernier message: 12/07/2016, 21h00
  2. [Free Pascal] Produit de trois nombres positifs ou négatifs
    Par nadirmabed dans le forum Free Pascal
    Réponses: 17
    Dernier message: 18/01/2015, 08h38
  3. [Turbo Pascal] Tri de nombres positifs et négatifs
    Par khmamed dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2011, 17h40
  4. [Affichage] nombres +positifs/-négatifs
    Par Commodore dans le forum Excel
    Réponses: 2
    Dernier message: 18/01/2008, 16h21
  5. nombre aléatoire positif et négatif
    Par isatis28 dans le forum C
    Réponses: 18
    Dernier message: 22/11/2006, 11h53

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