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 :

Recap de 2 Tables [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut Recap de 2 Tables
    J'ai 2 tables ainsi constituées

    1° Table
    Rubriques : AGENCE - TYPE - NB1
    Données :00001-----01-----1
    ----------00001-----02-----2
    ----------00003-----02-----3

    2° Table
    Rubriques : AGENCE - TYPE - NB2
    Données : 00001----01------5
    -----------00001----03-----3
    -----------00004----01-----1

    Par une requête sous ACCESS je voudrais juste obenir ceci :

    AGENCE - TYPE - NB1 - NB2
    00001------01----1-----5
    00001------02----2-----0
    00001------03----0-----3
    00003------02----3-----0
    00004------01----0-----1

    J'ai un problème pour faire cette requête là. Pouvez vous m'aider ?

    Merci
    Michel

  2. #2
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    15 000
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 15 000
    Points : 23 351
    Points
    23 351
    Billets dans le blog
    10

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 742
    Points : 57 546
    Points
    57 546
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    on peut faire cela en plusieurs temps:

    une requête R12:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T1.AGENCE, T1.TYPE, T1.NB1, T2.NB2
    FROM T1 LEFT JOIN T2
    ON T1.TYPE = T2.TYPE AND T1.AGENCE = T2.AGENCE

    une requête R21:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T2.AGENCE, T2.TYPE, T1.NB1, T2.NB2
    FROM T2 LEFT JOIN T1
    ON T2.TYPE = T1.TYPE AND T2.AGENCE = T1.AGENCE

    puis la requête finale Rfinal:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (SELECT AGENCE, TYPE, NB1, NB2 FROM R12)
    UNION
    (SELECT AGENCE, TYPE, NB1, NB2 FROM R21)

    à tester...

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonsoir Orion34080, JML19 et Fabien,

    J'étais en train de rédiger la solution de Fabien... il faudra prévoir un groupement du résultat de Rfinal, mais tu le verras par toi-même, Orion34080.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut PAs si simple finalement
    Merci à tous,
    Je vais tester tout ça dès demain... et je reviens vous dire
    Merci
    Michel

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 742
    Points : 57 546
    Points
    57 546
    Billets dans le blog
    42
    Par défaut
    bonsoir Richard,

    Citation Envoyé par Richard_35 Voir le message
    ... il faudra prévoir un groupement du résultat de Rfinal, mais tu le verras par toi-même, Orion34080.
    quel groupement ?

  7. #7
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Fabien
    quel groupement ?
    ==>
    • la table 1 comporte 3 enregistrements ;
    • la table 2 comporte 3 enregistrements ;
    • R12 : table 1 => table 2, avec LEFT JOIN, donc pas de perte : 3 enregistrements ;
    • R21 : table 2 => table 1, avec LEFT JOIN, donc pas de perte : 3 enregistrements ;
    • UNION de R12 et R21 => R12 : 6 enregistrements ;
    • le résultat souhaité dans le premier post comporte 5 enregistrements.
    ==> il doit y avoir une ligne doublée : celle présente dans les R12 et R21, soit :
    Données : 00001----01------5

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 742
    Points : 57 546
    Points
    57 546
    Billets dans le blog
    42
    Par défaut
    Citation Envoyé par Richard_35 Voir le message
    il doit y avoir une ligne doublée : celle présente dans les R12 et R21, soit :
    Données : 00001----01------5
    oui mais...

    Citation Envoyé par aide Access
    Par défaut, l'opération UNION ne renvoie aucun enregistrement en double mais vous pouvez ajouter le prédicat ALL pour obtenir de façon certaine que tous les enregistrements soient renvoyés.

  9. #9
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    J'apprends (encore) quelque chose.
    Merci Fabien.

  10. #10
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Votre discussion de spécialistes me paraît obscure pour l'instant.... je testerai demain
    Mais ceci dit, pour obtenir le résultat que je souhaite (voir premier post)... je code quoi dans la requête union ?

    MErci encore
    Michel

  11. #11
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2008
    Messages : 286
    Points : 383
    Points
    383
    Par défaut
    Je confirme, cela fonctionne (sans avoir à faire de groupement)
    Remerciements
    Michel

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Réparation table/entête endommagée
    Par tbesrour dans le forum Paradox
    Réponses: 15
    Dernier message: 27/11/2007, 10h42
  3. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55
  4. Newbie......compilateur et table de caractères
    Par Cyberf dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 21/08/2002, 14h29
  5. [Comparatifs] Limites nombres tables et quantité de données
    Par benj63 dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 13/06/2002, 21h31

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