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 :

SQL : jointure sur table qui fait qui enlève des résultats


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut SQL : jointure sur table qui fait qui enlève des résultats
    Bonjour a Tous,

    J'ai trois tables dans ma requêtes.

    Les deux premières sont composés d'éléments [sch1.ele] (éléments 1,2,3 ...) et de lien entre éléments [sch1.lien] : élément 1 - élément 2

    J'ai un requête permettant de rattacher une première fois des éléments entre eux suivants certains critères de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * 
    from sch1.lien
    left join sch1.ele as id1 on liens.maitre = id1_reseau
    left join sch1.ele as id2 on liens.esclave= id2_serveur
    left join sch2.ref2 as ref2 on upper (id2_serveur) = ref2 _serveur
    et une deuxième adosser a la première pour ramener d'autre informations mais cette fois en switchant le id2_serveur en lien maître :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    left join sch1.lien as liens_id2_serveur on liens_id2_serveur.maitre = id2_serveur
    left join sch1.ele as id3 on liens_id2_serveur.esclave = id3_os
    Le soucis est que la deuxième requête enlève des résultats dans le première (celles pour qui elle ne trouve pas de résultat dans la deuxième).

    Est-ce ma jointure qui est mauvaise?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 243
    Points : 12 874
    Points
    12 874
    Par défaut
    Bonjour,
    Il nous faudrait la description des tables, ainsi qu'un jeu d'essai et le résultat attendu.

    Comme certaines colonnes ne sont pas préfixées dans la requête, on ne sait pas de quelle table elles proviennent, par exemple : liens_id2_serveur.esclave = id3_os.
    D'où vient id3_os ?

    Sans ces éléments il sera difficile d'apporter une réponse.

    Tatayo.

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 311
    Points : 39 677
    Points
    39 677
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    J'ai l'impression que les requêtes ont été ressaisies et que ce ne sont pas exactement celles exécutées, par exemple

    from sch1.lien
    left join sch1.ele as id1 on liens.maitre = id1_reseau <-- alias "liens" non défini", alias "id1" inutilisé, a priori, l'underscore est à remplacer par un point
    left join sch1.ele as id2 on liens.esclave= id2_serveur <-- alias "liens" non défini", alias "id2" inutilisé, a priori, l'underscore est à remplacer par un point

    ce qui donnerait

    from sch1.lien as liens
    left join sch1.ele as id1 on liens.maitre = id1.reseau
    left join sch1.ele as id2 on liens.esclave= id2.serveur

    Qu'en est il ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/06/2020, 15h58
  2. Etat sur table qui marche seulement en pas à pas
    Par jonathan.chaf dans le forum VBA Access
    Réponses: 5
    Dernier message: 23/03/2020, 23h00
  3. Requête SQL : Jointure sur 3 tables - Bd Access 1997 & Delphi 7
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/12/2007, 09h57
  4. [SQL] un create table qui devrait fonctionner
    Par klerdesign dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/06/2006, 14h05
  5. requete(jointure 2 tables) qui marche pas
    Par DaxTaz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2004, 17h50

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