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 :

Problème de jointure SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Par défaut Problème de jointure SQL
    Bonjour à tous,
    j'ai un problème avec les jointures de ma requête SQL.
    Voilà le problème :Quant le le numéro du medecin n'est pas renseigné (Num_Med_LEG) la ligne n'est pas retournée même en inscrivant LEFT ou FULL.
    Je vous joins la requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT Reference, Date_Prelev, Nom, Num_Id_Externe, Date_Recep, Prenom, 
    Circons_Deces, T_Medecin_Leg.Nom_Med_Leg, T_Medecin_Leg_BIS.Nom_Med_Leg, 
    T_Demandeur.Nom_Demandeur, Num_Dossier 
    FROM T_Demandeur INNER JOIN ((T_Medecin_Leg INNER JOIN T_Dossier 
    ON T_Medecin_Leg.Num_Med_Leg = T_Dossier.Num_Med_Leg)LEFT JOIN T_Medecin_Leg AS T_Medecin_Leg_BIS 
    ON T_Dossier.Num_Med_Leg_2 = T_Medecin_Leg_BIS.Num_Med_Leg) 
    ON T_Demandeur.Num_Demandeur = T_Dossier.Num_Demandeur 
    WHERE Reference LIKE 'LUM%' AND Date_Enreg BETWEEN '2011-07-28' AND '2011-08-3' 
    ORDER BY Num_Dossier
    Merci pour l'aide que vous pourriez m'apporter

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    quelle est votre requete avec le left outer join ?

  3. #3
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    il y a quelque chose curieux avec les parenthèses dans la clause FROM ?!
    Non ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Par défaut
    Pour être plus claire, la requête fonctionne mais elle ne renvoie pas les ligne dont les médecins légistes sont égaux à Null.
    J'ai essayé de mettre la commande LEFT OUTER JOIN et FULL OUTER JOIN mais je n'obtiens toujours pas les lignes.

    Merci pour vos réponses

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    je ré-itère ma question .. qu'elle est votre requete avec le left outer join ?

  6. #6
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    et comme cela :
    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
    16
    17
    18
       SELECT Reference,
                     Date_prelev,
                     Nom,
                     Num_id_externe,
                     Date_recep,
                     Prenom,
                     Circons_deces,
                     T_medecin_leg.Nom_med_leg,
                     T_medecin_leg_bis.Nom_med_leg,
                     T_demandeur.Nom_demandeur,
                     Num_dossier
                FROM T_dossier
                  INNER JOIN T_demandeur ON T_demandeur.Num_demandeur = T_dossier.Num_demandeur
                  INNER JOIN T_medecin_leg ON T_medecin_leg.Num_med_leg = T_dossier.Num_med_leg
                  LEFT JOIN T_medecin_leg AS T_medecin_leg_bis ON T_dossier.Num_med_leg_2 = T_medecin_leg_bis.Num_med_leg
              WHERE Reference LIKE 'LUM%'
                    AND Date_enreg BETWEEN '2011-07-28' AND '2011-08-3'
              ORDER BY Num_dossier

  7. #7
    Membre Expert Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Par défaut
    Vous dites que la requete fonctionne ??
    Quel est votre SGBD, car la construction de la requete me parait douteuse ...

    De plus la clause

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BETWEEN '2011-07-28' AND '2011-08-3'
    Est fonctionnellement invalide car le 10 aout 2011 sera codé '2011-08-10' et sera compris entre '2011-07-28' et '2011-08-3' ce qui n'est evidemment pas vrai (comparaison de chaine de caracteres).

    Bon courage

  8. #8
    Membre à l'essai
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Santé

    Informations forums :
    Inscription : Août 2011
    Messages : 5
    Par défaut
    Bonjour,
    Oui la requête fonctionne. Mon SGBD est un SQL Serveur 2008 en anglais expliquant le codage de la date AAAA-MM-JJ.
    Désolé de cette pause mais les helvetiques avaient une fête hier.
    Je vais essayer la requête d'Oliver ce matin.
    merci encore de votre aide

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

Discussions similaires

  1. Problème de jointure SQL
    Par TigerCX dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/04/2008, 03h23
  2. VB5 Problème de jointure SQL
    Par lunab54 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 27/02/2008, 15h48
  3. [SQL] problème de variable tableau PHP contenant les données d'une jointure SQL
    Par Schpountz42 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2007, 05h59
  4. [Requêtes SQL] Problème de jointure ?
    Par soso78 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/12/2006, 15h37
  5. [SQL server 2000] Problème de jointure avec 'Case'
    Par Tankian dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/06/2006, 17h42

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