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 :

requêter sur 3 tables (pour le moment !)


Sujet :

Requêtes et SQL.

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut requêter sur 3 tables (pour le moment !)
    Bonjour à tous,

    petite question : j'aimerai créer une requête à partir d'une table client, et 2 tables "montant". je m'explique

    la table1 comporte uniquement des numéros de client
    la table2 comporte certains des numéros clients de la table1 avec une colonne "montant" et une colonne "mois"
    la table3 comporte les mêmes numéros clients que la table2 plus d'autres présents dans la table1 avec une colonne "montant" et une colonne "mois"

    mon but : pour le même mois, obtenir les numéros de clients qui apparaissent dans la table2 et la table3 et les montants correspondants.

    merci de votre aide...

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Par défaut


    Pour répondre à ton problème, je te propose de lire ce tuto sur les différents types de jointure que tu peux utiliser dans les requetes

    Bonne lecture
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    Merci pour la réponse, cependant, je ne suis pas sûre que le choix d'une jointure soie la clé de mon problème, car dans ma requête j'utilise les trois tables, pas 2, enfin je ne sais pas.

  4. #4
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Par défaut
    Bonjour,

    quand tu dis
    obtenir les numéros de clients qui apparaissent dans la table2 et la table3
    tu parles des enregistrements qui sont A LA FOIS compris dans la table2 et la table 3 ou tu veux tous les enregistrements des deux tables ?

    Tu peux voir du côté des opérateurs UNION et INTERSECT (en Oracle ça existe alors peut être aussi en Access) où sinon regarde l'opérateur EXISTS.

    Un petit lien pour expliquer tout ça : http://www.plb.fr/ccm/sql/sqlensem.php
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    merci, je vais lire çà, mais je suis pas une pro alors si j'ai d'autres questions...

  6. #6
    Rédacteur
    Avatar de jsd03
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    1 221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Août 2008
    Messages : 1 221
    Par défaut
    On est là pour ça du moment que la question est bien posée
    Google est ton ami mais ton voisin aussi

    Modérateur BI - Responsable Talend
    Mes tutoriels - FAQ Talend - FAQ SQL*Plus

    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Suivez @Developpez sur twitter !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    je re-précise que je souhaite tous les enregistrements de la table 1 et tous ceux de la table 2 mais les tables sont différentes !

    c'est faisable çà ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    Bonjour,

    peut-être que je n'ai pas été assez claire auparavant, alors je joins une description grossière de mes tables et du résultat que je souhaiterais obtenir, je voudrais par agence et par produits les entrées et le stock sur la meme table sachant qu'il peut y avoir du stock sans entrée et des entrées sans stock !
    merci d'avance.

    Table 1
    agence produit concat ag/prdt Entrées
    001 AB 001AB 1 000
    002 AC 002AC 2 500
    004 AD 004AD 10 000
    005 AE 005AE 6 500

    Table 2
    agence produit concat ag/prdt Stock
    001 AB 001AB 60 000
    003 AC 003AC 2 500
    004 AD 004AD 85 000
    006 AF 006AF 6 500

    Table Résultat souhaitée
    agence produit concat ag/prdt Entrées Stock
    001 AB 001AB 1 000 60 000
    002 AC 002AC 2 500 0
    003 AC 003AC 0 2 500
    004 AD 004AD 10 000 85 000
    005 AE 005AE 6 500 0
    006 AF 006AF 0 6 500

  9. #9
    Membre Expert
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Par défaut
    Bonjour,
    essaie ceci :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT Table1.Agence, Table1.Produit, Table1.Concat, Entrees, Nz(Stock,0)
    FROM Table1 LEFT JOIN Table2 ON Table1.Agence=Table2.Agence
    UNION
    SELECT Agence,Produit, Concat,0,Stock
    FROM Table2
    WHERE Agence NOT IN (SELECT Agence FROM Table1);

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    Bonjour,

    et d'abord merci pour ta réponse, mais çà ne fonctionne pas : au lieu d'avoir les entrées et les stocks sur 2 colonnes différentes, je n'en ai qu'une, il doit cumuler les montants...

    Pour info j'ai du retirer le 0 de cette ligne car il me disait que le nombre de colonnes était différent dans les tables :

    SELECT Agence,Produit, Concat,0,Stock

    je ne sais pas si çà importe...

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 29
    Par défaut
    c'est bon, j'ai mis un peu les mains dans le cambouis, j'ai trifouillé et j'ai obtenu ce que je cherchais !

    Merci à tous ceux qui ont bien voulu se pencher sur mon problème et spécialement à ilank qui l'a résolu !

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

Discussions similaires

  1. [MySQL-5.6] Faire une requête sur deux tables pour avoir la valeur MAX sans le GROUP BY
    Par emykev22 dans le forum Requêtes
    Réponses: 1
    Dernier message: 04/06/2014, 12h12
  2. Aide pour une requête sur deux tables
    Par Andry dans le forum Développement
    Réponses: 2
    Dernier message: 05/11/2007, 07h14
  3. Aide pour une requête sur deux tables
    Par Andry dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/11/2007, 07h14
  4. problème de requête SQL sur 3 tables pour un while
    Par carmen256 dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/04/2006, 16h55
  5. Besoin d'aide pour requête sur grosse table
    Par Fabouney dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/01/2006, 09h01

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