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 :

Problème de jointure [Fait]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut Problème de jointure
    Bonjours, je suis débutant et j'ai un petit soucis sur une jointure entre deux table.
    En effet, sur ma 1ère table (A) j'ai le maximum d'enregistrement possible, sur ma 2ème table (B), la ligne correspondante n'existe pas forcément.

    Select Champ from A, B
    where
    B.Clé=A.Clé(+)

    Avec cette requête, mon nombre de ligne es limité à la table B.
    Je voudrai affiché toute les ligne de la table A, même si elle n'existe pas dans la table B.

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Par défaut
    Bonjour,

    Teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CHAMP
    FROM   TABLE_B B
           INNER JOIN TABLE_A A
                 ON B.CLE = A.CLE
    Tu peux regarder http://sqlpro.developpez.com/cours/sqlaz/jointures/
    pour tous les types de jointures.

    La syntaxe avec (+) est ancienne. Mieux vaut utiliser inner joint, outer join, ...

    Sylvain

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut
    Merci pour ta réponse, mais j'ai une vielle version d'oracle et les inner join ne fonctionne pas...

  4. #4
    Membre éprouvé
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Par défaut
    Ah ok dommage.

    Dans ce cas, teste çà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select Champ from A, B
    where 
    A.Clé=B.Clé(+)
    Tu auras ainsi les valeurs de A qui n'ont pas de rattachement à B.

    Sylvain

  5. #5
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Citation Envoyé par iSylvain Voir le message
    Bonjour,

    Teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CHAMP
    FROM   TABLE_B B
           INNER JOIN TABLE_A A
                 ON B.CLE = A.CLE
    Tu peux regarder http://sqlpro.developpez.com/cours/sqlaz/jointures/
    pour tous les types de jointures.

    La syntaxe avec (+) est ancienne. Mieux vaut utiliser inner joint, outer join, ...

    Sylvain
    Bonjour,

    Ca peut induire en erreur las novices ce que tu envoies la

    mieux vaux envoyer des syntaxes anciennes qui fonctionnent que des syntaxes "modernes" fausses ...

    la syntaxe exacte est
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT CHAMP
    FROM   TABLE_B B
          RIGHT OUTER JOIN TABLE_A A
                 ON B.CLE = A.CLE

  6. #6
    Membre éprouvé
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Par défaut
    Citation Envoyé par fatsora Voir le message
    Bonjour,

    Ca peut induire en erreur las novices ce que tu envoies la

    mieux vaux envoyer des syntaxes anciennes qui fonctionnent que des syntaxes "modernes" fausses ...

    la syntaxe exacte est

    Code sql :
    </p><p>SELECT CHAMP</p><p>FROM TABLE_B B</p><p> RIGHT OUTER JOIN TABLE_A A</p><p> ON B.CLE = A.CLE</p><p>&nbsp;</p><p>
    Bonjour,

    Désolé.
    En effet, ma syntaxe n'était pas correcte.
    Lorsque j'en ai moi meme besoin je sais m'en servir en faisant different test mais là j'ai simplement fais une recherche.

    Merci à toi pour la correction !

    Sylvain

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut
    SELECT Champ FROM A, B
    WHERE
    A.Clé=B.Clé(+)


    Cette requête ne fonctionne pas non plus, je me tire les cheveux...

  8. #8
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    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 454
    Par défaut
    Qu'est-ce qui ne fonctionne pas ?
    Exécution, résultat ?

    Est-ce que vos colonne s'appellement vraiment clé ?
    Si vous avez un accent je pense qu'il faut utiliser des doubles quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT count(*)
    FROM A, B
    WHERE A."Clé"=B."Clé"(+)
    Pouvez-vous nous donner les résultats de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sys.v_$version

Discussions similaires

  1. Problème de jointure de tables
    Par AurelBUD dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/04/2005, 16h27
  2. Probléme de jointure
    Par Ajrarn dans le forum Langage SQL
    Réponses: 14
    Dernier message: 24/02/2005, 14h57
  3. Vraisemblable problème de jointure
    Par pimousse76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 15h34
  4. [MS Access] Problème de jointure
    Par Erakis dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2005, 21h15
  5. Problème de jointure ?!
    Par ebaynaud dans le forum Langage SQL
    Réponses: 8
    Dernier message: 03/11/2004, 11h27

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