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

Access Discussion :

Jointure entre deux requetes pour obtenir une nouvelle table contenant toutes les colonnes des deux requêtes


Sujet :

Access

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2016
    Messages : 17
    Points : 5
    Points
    5
    Par défaut Jointure entre deux requetes pour obtenir une nouvelle table contenant toutes les colonnes des deux requêtes
    bonsoir a tous,
    j'ai besoin de votre aide.
    j'ai deux requetes : A et B
    A: elle génère 3 colonnes ( nom_service, ID_Purchasing_order, quantity ) elle regroupe pour chaque service, les numero du purchasing order correspendant et affiche pour chacun la quantité de toutes les factures qui doivent être signées (quantity)
    B : elle génère plusieurs colonne ( nom_service, ID_Purchasing_Order, et pour chaque ID elle affiche le nombre de factures déjà signée mais pour plusieurs types de factures (4 types differents, donc 4 colonne)
    jusqu'ici les deux requetes fonctionnent correctement. jusqu'à ce que je souhaite avoir une requete C, qui pour tous les élément de la table A, elle ajoute les colonnes de la table générée par la requête B. le but c'est de calculer le nombre de factures qui ne sont pas encore signées. (Quantity - la quatité des factures signées pour chaque type)
    Voici le code utilisé, mais qui me donne des lignes dupliquées avec des chiffres de la colonne B qui n'ont aucun sens par rapport aux résultats souhaités :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Qte_PO_ServiceEtPO.services_description, Qte_PO_ServiceEtPO.PO, Qte_PO_ServiceEtPO.Quantity, ServPOStat1.PAC_NB, ServPOStat1.FAC_NB, ServPOStat1.Invoice_FAC_NB, ServPOStat1.Invoice_PAC_NB
    FROM Qte_PO_ServiceEtPO, ServPOStat1;
    Fin de la discussion
    SVP si qlq1 peut m'aider et que mon message n'est pas clair, n'hésitez pas a me demander plus d'information.
    je vous remercie par avance

    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    Bonsoir,
    ton titre est très clair. Tu mentionnes la jointure que tu n'utilises pas dans ta requête et c'est pourtant ce qui manque pour éviter ce produit cartésien (nombre d'enregistrements de la première requête multiplié par le nombre de la seconde).
    D'autant plus que tu as les éléments pour créer la jointure : nom_service, ID_Purchasing_order mais que tu ne fais pas apparaitre dans tes requêtes.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2016
    Messages : 17
    Points : 5
    Points
    5
    Par défaut
    justement, je l'ai enlevé maintenant en postant la question afin de laisser le code dans son format le plus simple et clair pour vous. quand j'ai mis la jointure entre les noms de services uniquement ou entre les numéros de Purchasing order uniquement, ca me donne pas le resultat que je souhaite et ca duplique les lignes car logiquement la jointurde soit se faire entre les deux éléments en même temps. Lorsque je le fait,(c'est à dire la jointure entre les deux) l'erreur suivante s'affiche : Incohérence de type dans une expression.

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 817
    Points : 14 911
    Points
    14 911
    Par défaut
    je l'ai enlevé maintenant en postant la question afin de laisser le code dans son format le plus simple et clair pour vous
    Ce n'est pas le meilleur moyen d'avoir une réponse claire et rapide que de nous montrer du code incomplet : pour trouver les anomalies c'est même franchement impossible.
    Lorsque je le fait,(c'est à dire la jointure entre les deux) l'erreur suivante s'affiche : Incohérence de type dans une expression.
    Pour permettre d'avancer, il faudrait la totalité du code et la description des champs des tables qui composent la jointure (nom table, nom champ et type de données).

Discussions similaires

  1. [MySQL] Est-ce que cette requête est exacte pour créer une nouvelle table?
    Par guillaume7684 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/02/2011, 14h17
  2. Réponses: 5
    Dernier message: 08/03/2010, 14h09
  3. Deux iterators pour obtenir une liste
    Par Jere3110 dans le forum Struts 2
    Réponses: 1
    Dernier message: 26/06/2009, 11h08
  4. Regrouper deux requetes pour faire une vue
    Par shaun_the_sheep dans le forum Langage SQL
    Réponses: 2
    Dernier message: 21/04/2009, 17h38
  5. Réponses: 16
    Dernier message: 04/10/2007, 13h06

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