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 jointure externe


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut problème de jointure externe
    Bonjour,
    J'ai crée une requete paramétrée (champ date) à partir de 3 tables :
    table1 contient plusieurs champs dont n°sortie
    table2 contient plusieurs champs dont n°sortie et ID
    table3 contient plusieurs champs dont ID, nbre produits et date

    Les n°sorties de la table 1 s'affichent toujours (de 0001 à 0478)
    Les n°sorties de la table2 peuvent ne pas s'afficher : elles s'afficheront uniquement si la sortie contient du produits.
    je rappelle que le champ n°sortie est le même sur la table1 et 2

    La table 2 permet de lier la table 1 et 2:
    table 1 et table 2 joint par le champ n°sortie
    table2 et table3 joint par le champ ID


    La requete affiche, pour une date donnée, le nombre de produits pour chaque sorties de 0001 à 0478.
    il arrive parfois que pour certains jours, plusieurs sorties ne soient pas utilisées. Et dans ce cas, ma requete m'affichent uniquement les n°sorties qui contiennent des produits et les sorties non utilisées ne s'affichent pas dans ma requete.

    Or, je souhaiterais, voir apparaitre dans ma requete, toutes les sorties ( de 0001 à 0478) même celles qui ne sont pas utilisées. Ces dernieres auront comme valeur 0 dans le champ "nbre produits".

    J'ai essayé de contourner le problème avec une jointure de type 3 entre la table 1 et 2 au niveau du champ n°sortie
    inclure tous les enregistrements de la table 1 et seulement ceux de la table 2 pour lesquels les champs joint sont égaux
    Maiis j'ai un message d'erreur qui apparait :

    Instruction SQL non éxecutées : des jointures externes ambigues. Pour forcer l'ordre d'éxécution...
    J'ai besoin d'aide...

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Le message vient sans doute que tu as un mélange de jointures strictes et de jointures "ouvertes".

    Une solution est de faire le même type de jointures partout, en combinant bien les dépendances, cela devrait quand même te donner le bon résultats.

    Ta requête ressemble à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [tblSortie]--->[UneSource]--->[UneAutreSource]
                               +->[UneAutreSource]
    Une autre solution est de faire en sorte qu'il y ai toujours des données.

    • Tu fais une requête qui te donne les données que tu veux.
    • Tu fais une requête basée sur [tblSortie] qui te donne les valeurs par défaut.
      Ex : si c'est un nombre de ventes, tu mets t'arrange pour que ton champ nombre de ventes soit à 0.
      Il faut que [reqDefaut] ait le même nombre de champs que [reqDonnées]
    • Tu fais une requête union qui va associer ta requête de données et ta requête "par defaut". Un truc du genre :

      Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      select * from [reqDonnees]
      union select * from [reqDefaut]

      La requête union devient la source des statistiques.

      Attention le nombre de champs de [reqDonnnees] + nombre de champs de [reqDefaut] < 251 sinon on a une erreur bizarre.
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. Problème avec jointure externe
    Par illight dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/04/2008, 13h23
  2. Réponses: 10
    Dernier message: 25/01/2008, 17h24
  3. Réponses: 24
    Dernier message: 24/07/2007, 18h48
  4. Problème de jointure externe
    Par Loko dans le forum Langage SQL
    Réponses: 15
    Dernier message: 24/07/2007, 13h04
  5. Problème de Jointure externe
    Par major2 dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2007, 18h58

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