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

Designer Oracle Discussion :

case when select


Sujet :

Designer Oracle

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Points : 62
    Points
    62
    Par défaut case when select
    bonjour,

    j'aimerai alimenter une colonne à l'aide de conditions, j'ai fait ceci mais ça semble être faux!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    case
           when TYPE_ART='LIG' then CA/QTE;
           when TYPE_ART='LOT' and MODE='V' then MONTANT;
           when TYPE_ART='LOT' and MODE='P' then( MONTANT*(select (CA_TTC+TYPE)/QTE where TYPE='ri')/100)) 
     end case
    Quelqu'un saurait me dire où ça ne va pas svp??

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Il me semble que la syntaxe CASE WHEN n'accepte pas de sous-requêtes en utilisant des SELECT, à vérifier ...

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Points : 62
    Points
    62
    Par défaut
    ahh... je vais vérifier cela
    merci

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Je ne vois pas pourquoi ça ne passerait pas, néanmoins il faut respecter deux conditions :
    1. Que la requête scalaire soit correcte (avec un FROM par exemple)
    2. Qu'elle ne retourne qu'un seul résultat

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Points : 62
    Points
    62
    Par défaut
    j'ai ajouté le from, et en exécutant j'ai cette erreur au niveau de l'intégration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com.sybase.jdbc2.jdbc.SybSQLException: ASA Error -131: Syntax error near '=' on line 1
    ça veut dire quoi svp? le "=" n'est pas bon? quelle est la syntaxe?

  6. #6
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    283
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 283
    Points : 62
    Points
    62
    Par défaut
    j'ai un peu modifié mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select montant_
    case when TYPE_ART='LIG' then CA_/QTE_    
           when TYPE_ART='LOT' AND MODE='V' then MONTANT     
           when TYPE_ART='LOT' AND MODE='P' then MONTANT*((( select  (CA_TTC + ca_AVTG)/QTE as mnt
     from prosp, avant where avant.num=prosp.num
     and prosp.num_mag=avant.num_mag and avant.type_av='RI') 
    end as montant
     
     from avant,prosp
    j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error: Syntax error near 'end' on line 10 (State:37000, Native Code: FFFFFF7D)

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Vous n'êtes pas rigoureux.
    Fermer une parenthèse ouverte, c'est en général une bonne idée.

Discussions similaires

  1. case when + select d'une valeur
    Par imco20030 dans le forum Développement
    Réponses: 4
    Dernier message: 04/11/2009, 16h53
  2. Access et SELECT CASE WHEN dans requetes
    Par Orion01 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/12/2007, 11h24
  3. Réponses: 7
    Dernier message: 29/05/2007, 10h21
  4. Equivalent "Select Case when then else end" sur Paradoxe
    Par Seuh.m dans le forum Bases de données
    Réponses: 4
    Dernier message: 29/06/2006, 08h23
  5. Réponses: 5
    Dernier message: 31/10/2005, 13h25

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