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

Langage SQL Discussion :

Jointure externe simple ne retourne aucun resultat


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Jointure externe simple ne retourne aucun resultat
    Bonjour,

    Voci ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT     p_rqt.RqtInCde, p_rqtpec.RqtPecToDte
    FROM         p_rqt LEFT OUTER JOIN
                          p_rqtpec ON p_rqt.RqtInCde = p_rqtpec.RqtInCde
    WHERE     (p_rqt.RqtInCde = 2880) AND (p_rqtpec.WrkInCde = 12)
    J'ai donc deux tables telles que :

    P_rqt:

    rqtincde
    ---------
    2880
    2881
    2882

    p_rqtpec:

    rqtincde wrkincde RqtPecToDte
    ----------------------------------
    2880 ...........1 ...........12/10/2000
    2880 ...........2 ...........12/10/2000
    2880 ...........3...........12/10/2000
    2880...........14 ...........12/10/2000

    D'aprés ma requete je devrai avoir comme resultat

    p_rqt.rqtincde p_rqtpec.RqtPecToDte
    ------------------------------------------
    2880 ......................NULL

    Or je nai aucun resultat, c'est la premiere fois que j'ai cela avez-vous une idée ?

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    c'est tout à fait normal.
    WrkInCde ne vaut jamais 12. Met cette condition dans ta clause 'ON'

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Je pensai que les jointures externes servaient justement a remplacer les champs inexistant par NULL c'est ce que je souahite, peux tu m'expliquer quoi mettre dans le ON ?

    Merci

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT p_rqt.RqtInCde, p_rqtpec.RqtPecToDte
    FROM p_rqt 
    LEFT OUTER JOIN p_rqtpec 
    ON p_rqt.RqtInCde = p_rqtpec.RqtInCde AND p_rqtpec.WrkInCde = 12
    WHERE p_rqt.RqtInCde = 2880
    comme tu le dis, la jointure externe sert à remplacer les champs inexistant par NULL. Mais, ici tu rajoute une condition sur ta 2eme table, condition qui n'est jamais vérifiée si cela vaut NULL. Donc si tu mets cette condition dans ton where, ta jointure externe devient inutile

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Merci s'est impec

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

Discussions similaires

  1. [SQL-Server] Acune erreur, et odbc_result ne retourne aucun resultat
    Par kaela dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 19/05/2014, 14h05
  2. Recherche ne retourne aucun resultat
    Par ninou212212 dans le forum SharePoint
    Réponses: 1
    Dernier message: 23/10/2008, 10h32
  3. Jointure externe complexe avec syntaxe simple
    Par titpuce dans le forum SQL
    Réponses: 2
    Dernier message: 03/09/2008, 15h00
  4. Jointure externe, qui ne retourne rien.
    Par guitou0 dans le forum SQL
    Réponses: 11
    Dernier message: 30/04/2008, 14h35
  5. jointure externe qui retourne 1 ligne par enregistrement
    Par goony dans le forum Langage SQL
    Réponses: 5
    Dernier message: 11/05/2006, 18h51

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