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

PL/SQL Oracle Discussion :

Si une valeur est positive afficher un champ sinon un autre


Sujet :

PL/SQL Oracle

  1. #1
    Membre habitué Avatar de Nadinette
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 264
    Points : 144
    Points
    144
    Par défaut Si une valeur est positive afficher un champ sinon un autre
    Bonjour,

    J'ai une requête très très compliquée.
    Pour simplifier, j'ai créé 2 vues qui sont reliées entre elle par un join.

    Je dois faire la chose suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Si T1.QUANTITEE>0 THEN
    'BUY'
    ELSE
    'SELL'
    END IF
    Je suis très étonnée qu'il n'y ait pas le IF dans le select dans oracle.

    J'ai essayé un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      DECODE(GREATEST(T2.QUANTITE,0),'BUY','SELL') AS DIRECTION
    Ca compile mais ça me renvoie null dans la colonne.

    Pourriez-vous me dire où je me suis trompée ?

    Merci pour votre aide !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Nadinette Voir le message
    Je suis très étonnée qu'il n'y ait pas le IF dans le select dans oracle.
    C'est CASE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    case when T1.QUANTITEE>0 THEN 'BUY' ELSE 'SELL' END
    Ton decode ne fait pas du tout ça, il fait :
    Prends la valeur max entre quantite et 0, si cette valeur max est égale à BUY alors affecte la valeur SELL sinon NULL...
    Tu n'as donc que des NULLs...

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 102
    Points : 28 399
    Points
    28 399
    Par défaut
    Si tu tiens à utiliser DECODE, ce sera donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DECODE(GREATEST(T2.QUANTITE,0), 0, 'SELL', 'BUY') AS DIRECTION

  4. #4
    Membre habitué Avatar de Nadinette
    Femme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    264
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 264
    Points : 144
    Points
    144
    Par défaut
    Merci pour votre aide, non je ne tiens pas particulièrement à utiliser l'une ou l'autre

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/11/2013, 14h37
  2. [AC-2003] combien de fois une valeur est-elle affichée ?
    Par sabredebois dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/12/2009, 15h34
  3. Réponses: 1
    Dernier message: 17/04/2009, 15h44
  4. Réponses: 10
    Dernier message: 20/04/2007, 11h41
  5. Une valeur ne s'affiche pas dans un champ texte
    Par KibitO dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/03/2005, 20h42

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