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] Equivalent du Full Outer Join


Sujet :

Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut [ORACLE 9i] Equivalent du Full Outer Join
    Bonjour,

    J'ai une requete Oracle que je dois maintenant passer dans Crystal Report. Le probème est que ma requete a un FULL OUTER JOIN et que cette fonctionnalité de marche apparement pas sur Crystal.

    J'aurais voulu savoir s'il y avait un équivalent conditionnel pour ce FULL OUTER JOIN.
    Exemple, un
    FROM a INNER JOIN b ON a.id = b.id
    équivaut à
    FROM a, b WHERE a.id = b.id

    On peut faire un truc du meme genre pour mon FULL OUTER JOIN ?

    Merci beaucoup
    Worldofdada

  2. #2
    thg
    thg est déconnecté
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 46
    Points : 55
    Points
    55
    Par défaut
    il semble que ce soit possible avec une UNION ...

    look at :

    http://www.dbasupport.com/oracle/ora9i/ansi_joins2.shtml



    hope this help ...

  3. #3
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Avec 2 jointures externes et un union cela devrait marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SQL> select test1.*, test2.*
      2  from test1, test2
      3  where test1.n = test2.n(+)
      4  union
      5  select test1.*, test2.*
      6  from test1, test2
      7  where test1.n (+) = test2.n;
     
            N TITRE                                  N VALEUR
    --------- ------------------------------ --------- ------------------------------
            1 titre1
            2 titre2                                 2 valeur2
            2 titreB                                 2 valeur2
            4 TitreB
                                                     3 valeur3
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut
    Malheureusement, je ne crois pas avoir accès à l'Union dans Crystal Report mais je vais quand meme chercher au cas où.

    Je cherchais une solution avec les Where si possible ...

    Merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut
    Je confirme que je n'ai apparemment pas le droit aux UNIONs puisque ce mot clé n'apparait meme pas dans l'aide ...

  6. #6
    CD
    CD est déconnecté
    Membre habitué
    Inscrit en
    Septembre 2004
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 127
    Points : 151
    Points
    151
    Par défaut
    Et en faisant une vue que tu interroges ensuite depuis crystal ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut
    C'est pour le moment la seule solution possible que j'ai eu à l'esprit mais je préférais éviter d'en parler car c'est quand meme assez chiant ...

    Je vais avoir plusieurs rapport qui font appel à un FULL OUTER JOIN et j'aurais préféré éviter les vues ...

  8. #8
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    de nombreuses expériences faites, l'utilisation des vues puis l'interrogation de ces vues depuis Crystal est LARGEMENT plus simple...
    1. la vue permet d'utiliser toute la syntaxe Oracle
    2. simplifie fortement l'accès aux données depuis Crystal
    3. simplifie fortement la maintenance : tu peux avoir plusieurs états basés sur des vues similaires, du coup un modif de format ou l'ajout d'une colonne dans la vue rend cette modification accessible par tous les états qui l'utilise...


    c'est du moins mon avis...
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  9. #9
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Tout à fait d'accord avec Yorglaa, et puis là je crois qu'il n'y a pas d'autres solutions , si tu ne peux pas faire un full outer join ni un union, je ne vois pas comment tu peux t'en sortir sans passer par une vue.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  10. #10
    Membre confirmé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 487
    Points : 455
    Points
    455
    Par défaut
    Bonjour à tous,

    juste un petit warning.

    De mémoire mais(peux être qu'elle me joue des tours ), il y a un bug sur la full outer join qui la rend incompaptible aves l'utilsation des vues.
    Dans ce cas la, on s'en sort facilement avec un left union right

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 75
    Points
    75
    Par défaut
    Ok, merci beaucoup

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

Discussions similaires

  1. Erreur FULL OUTER JOIN
    Par SwiTz dans le forum Requêtes
    Réponses: 14
    Dernier message: 02/04/2009, 13h33
  2. Réponses: 3
    Dernier message: 19/02/2008, 10h26
  3. [Oracle 9] Probleme. FULL OUTER JOIN
    Par West01 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/10/2006, 07h46
  4. Remplacer FULL OUTER JOIN
    Par funrighd dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/07/2004, 10h54

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