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

Oracle Discussion :

[ORACLE 9i] - Jointure ouverte sur decode


Sujet :

Oracle

  1. #1
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut [ORACLE 9i] - Jointure ouverte sur decode
    Bonjour, kk1 a une soluce pour éviter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and a.cod_soc = DECODE(d.produit, 'FactureNet','CDT','CautioNet','COM')(+)
    sans l'erreur ORA-00936 : Expression absente ?

    Est il possible d'avoir une jointure externe avec une DECODE ????

  2. #2
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    le symbole de jointure externe (+) doit suivre le nom de la colonne et non celui d'un alias
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 50
    Points : 43
    Points
    43
    Par défaut Re: [ORACLE 9i] - Jointure ouverte sur decode
    D'accord avec sheick, il faut transformer ton code en:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and a.cod_soc = DECODE(d.produit(+), 'FactureNet','CDT','CautioNet','COM')
    Courage
    Patmane
    don't worry, be happy!

  4. #4
    Membre averti

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Points : 398
    Points
    398
    Par défaut Re: [ORACLE 9i] - Jointure ouverte sur decode
    Citation Envoyé par Patmane
    D'accord avec sheick, il faut transformer ton code en:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    and a.cod_soc = DECODE(d.produit(+), 'FactureNet','CDT','CautioNet','COM')
    Courage
    Patmane
    En fait c'était tout simple il fallait prendre le temps de réfléchir, nous avions modifier la définition de la table en faites :
    Nous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    select a.*,d.* 
    from 
       (select de.*,DECODE(produit, 'FactureNet','CDT','CautioNet','COM')  
        cod_soc_bis from table2 de) d, 
    table1 ar
    where ar.cod_soc = d.cod_soc_bis(+)
    Mais je préfère le code de Patmane
    , qui est plus mieux

    Merci en tout cas

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

Discussions similaires

  1. Lignes multiples sur jointure ouverte
    Par fyf08 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/02/2011, 09h02
  2. [Oracle 10G] Jointure ouverte et valeur null
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 1
    Dernier message: 23/04/2008, 15h18
  3. Oracle 9.2.0.7 - Jointure externe sur un between
    Par Diazz5475 dans le forum Oracle
    Réponses: 13
    Dernier message: 14/02/2007, 13h44
  4. Jointure externe sur 2 tables
    Par Danae dans le forum Langage SQL
    Réponses: 11
    Dernier message: 19/07/2005, 15h37
  5. DELPHI ORACLE et REQUETES OUVERTES
    Par klingc dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/06/2005, 13h51

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