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

Requêtes et SQL. Discussion :

problème de LEFT OUTER JOIN


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut problème de LEFT OUTER JOIN
    Bonjour,
    je travaille sous Access 2000, dans ma base de données il y'a des question et leur réponse associées, parmi ces réponses y'en a celles qui necessite une unité de mesure, et afin d'extraire toute les question reponse ainsi que les réponses qui ont des nunités assicié, j'ai utilisé un LEFT OUTER JOIN comme suis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PENSOINS_BM_REP_S AS r3  LEFT OUTER JOIN PENSOINS_C_UNITE ON PENSOINS_C_UNITE.NI = r3.NIUNITE
    mais cela me génére le message d'erreure suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    expression de jointure non supportée
    j'ai cherché avant de poster, mais mon ca na correspond à aucun...

    Je vous remercie d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    j'ai changé le nom de l'alis et au lieu de r3 j'ai mis reponse mais ça marche toujours pas.
    sachant que si je fais une requête simple entre ces deux tables avec le RIGHT OUTER JOIN ou le LEFT OUTER JOIN ça marche très bien.

    avec cette requête :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    INSERT INTO VueQuestionsReponsesDxCare 
    ( NIPATIENT, NOM, PRENOM, PATRONYME, NISEJOUR, DATENAIS, Date_Examen, PAT_ExternalId, Visite_Id, NIQ, NIR, LIBELLE, LIBABR, NIQSUP, NIRSUP, REPONSE )
    SELECT DISTINCT p.NIPATIENT, 
    p.NOM, 
    p.PRENOM, 
    p.PATRONYME, 
    sj.NISEJOUR, 
    UCase(Left(r5.REPONSE,10)) AS Expr1, 
    UCase(Left(r6.REPONSE,10)) AS Expr2, 
    Left(p.NOM,3) & Mid(UCase(Left(r5.REPONSE,10)),1,2) & Mid(UCase(Left(r5.REPONSE,10)),4,2) & Mid(UCase(Left(r5.REPONSE,10)),7,4) & Left(p.PRENOM,3) AS Expr3, sj.NISEJOUR & UCase(Left(r6.REPONSE,10)) AS Expr4, l
    ib3.NIQ, 
    lib3.NILIB, 
    q3.LIBELLE, 
    q3.LIBABR, 
    lib3.NIQSUP, 
    lib3.NILIBSUP, 
    r3.REPONSE
    FROM PENSOINS_BM_LIB_S AS lib3, 
    PENSOINS_C_QUESTION AS q3, 
    PENSOINS_BM_LIB_S AS lib5, 
    PENSOINS_C_QUESTION AS q5, 
    PENSOINS_BM_REP_S AS r5, 
    PENSOINS_BM_LIB_S AS lib6, 
    PENSOINS_C_QUESTION AS q6, 
    PENSOINS_BM_REP_S AS r6, 
    PENSOINS_BM_TH_S AS th3, 
    PENSOINS_SEJOUR AS sj, 
    PENSOINS_PATIENT AS p, 
    PENSOINS_C_UNITE INNER JOIN PENSOINS_BM_REP_S AS r3 ON PENSOINS_C_UNITE.NI = r3.NIUNITE 
    WHERE (((p.NIPATIENT)=[sj].[NIPATIENT]) 
    AND ((p.NOM) Not Like 'ZZZ%') 
    AND ((sj.NISEJOUR)=[th3].[NISEJOUR]) 
    AND ((lib3.NIQ)=[q3].[NIQ]) 
    AND ((lib3.NILIB)=[r3].[NILIB]) 
    AND ((lib3.PARENTE) Like '674,%') 
    AND ((lib5.NIQ)=[q5].[NIQ]) 
    AND ((lib5.NILIB)=[r5].[NILIB]) 
    AND ((q5.LIBABR) Like 'Date de nai%') 
    AND ((lib6.NIQ)=[q6].[NIQ]) 
    AND ((lib6.NILIB)=[r6].[NILIB]) 
    AND ((q6.LIBABR) Like 'Date de l%') 
    AND ((lib3.NITH)=[lib6].[NITH] 
    And (lib3.NITH)=[lib5].[NITH] 
    And (lib3.NITH)=[th3].[NITH]));
    il n'y a que le INNER JOIN qui marche !!

    Je vous remercie d'avance

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Outer Join n'existe pas dans le SQL Access.

    Starec

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    Bonjour, merci de m'avoir répondu;
    j'ai essayé RIGHT JOIN aussi et ça marche pas, j'ai enlevé l'alias et j'ai laissé le vrai nom de la table et ça marche toujours pas;

    Comment peut on faire ceci en Access SVP?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    le problème ne vient pas de LEFT OUTER JOIN et Access parce que je l'ai essayé entre seulement deux tables et ça marche.
    alors que dans ma requête m^me RIGHT JOIN ou LEFT JOIN ne fonctionne pas!!
    je présise aussi que ma requ^te d'ajout marche très bien avec le INNER JOIN !!

    y'a t'il une solution pour ce genre de problème SVP?

    mercie encore

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    J'ai utilisé l'assistant d'Access pour créer la jointure externe droite, ça été ajouté à ma requ^te. mais cette fois l'assistant Access me conseille de mettre la jointure dans une sous requête.
    le problème c'est SQL Access n'est pas trop flexible et je ne sais pas comment faire ceci.

    Merci pour votre aide

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    en première lecture de votre ouvrage, je pense que la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AND ((lib3.NILIB)=[r3].[NILIB])
    est incompatible avec un left join ou right join sur r3.

    cordialement,

    philippe

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Août 2006
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 568
    Points : 167
    Points
    167
    Par défaut
    Merci de m'avoir répondu,
    finalement j'ai créé une requête à part, que j'appele comme sorte de vue dans ma requête. ça a l'air de marché en tout cas j'ai lancé la requête avant de partir.
    mais demain matin je vais voir ce que ça donne avant de mettre résolu pour ce post.

    Je vous remercie encore.

Discussions similaires

  1. Problème avec LEFT OUTER JOIN
    Par Drakkhen72 dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/08/2008, 13h22
  2. Problème dans left outer join
    Par aymen007 dans le forum SQL
    Réponses: 1
    Dernier message: 21/05/2008, 12h03
  3. problème avec LEFT OUTER JOIN
    Par tofque dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/03/2008, 11h57
  4. Problème de left outer join avec Ibatis
    Par sarsipius dans le forum JDBC
    Réponses: 1
    Dernier message: 28/02/2008, 14h51
  5. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 21h07

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