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

SQL Oracle Discussion :

Comment traiter un champ calculé dans une requête avec jointure ouverte ?


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Comment traiter un champ calculé dans une requête avec jointure ouverte ?
    Bonjour à tous,

    Atteignant la limite de mes connaissances actuel en SQL je viens vous demander un peu d'aide pour une problématique SQL.

    J'ai 2 tables, je souhaiterais afficher une sélection des éléments de la table 1 en tenant compte des éléments de la table 2

    Table T1
    Champ 1A
    Champ 1B

    Table T2
    Champ 2A
    Champ 2C

    La jointure ce fait sur le champ T1.1A = T2.2A

    Je souhaiterais sélectionner 1B-2C si une correspondance existe dans T2 sinon sélectionner 1B

    Je fais donc select 1B from T1, T2 where 1A = 2A(+) j'obtiens bien la liste des éléments 1B même si pas de données dans T2

    Maintenant j'aimerais afficher la liste des 1B-2C ou 1B si pas de données dans T2 et là je bloque...

    Une idée ?

    Merci d'avance

    Cdlt

    Nicolas

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 104
    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 104
    Points : 28 400
    Points
    28 400
    Par défaut
    Utilisez la syntaxe normalisée pour noter vos jointures ! Même Oracle a fini par l'accepter.

    Le problème se résout simplement par l'usage de la fonction COALESCE (normalisée) ou NVL (spécifique à Oracle)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select  1B - coalesce(2C, 0)
    from    T1
        left join
            T2 
            on  1A = 2A
    ;

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Un grand Merci!!!!!


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

Discussions similaires

  1. [AC-2007] Champ calculé dans une requête
    Par Chris 81 dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 02/09/2011, 14h40
  2. Ré utiliser des champs calculés dans une requête
    Par boby62423 dans le forum Développement
    Réponses: 6
    Dernier message: 11/03/2011, 16h43
  3. Champs calculés dans une requête
    Par fmu74 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 03/12/2008, 15h29
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31

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