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 d'union de 2 tables


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 Problème d'union de 2 tables
    Bonjour, Je me permets de revenir sur une question pour laquelle on m'a donné des solutions (qui soit ne fonctionnent finalement pas, soit je ne les ai pas comprises)

    J'ai deux tables :

    Table1
    Type----Nb
    01-------1
    02-------2
    02-------3

    Table2
    Type----Nb2
    01-------5
    03-------3
    01-------1

    Je voudrais obtenir grace à ces 2 tables :

    Type---Nb------Nb2
    01-------1--------6
    02-------5--------0
    03-------0--------3

    j'ai essaye de mettre en pratique ce qui m'a été indiqué, à savoir :

    Requête1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT table1.Type, table1.Nb, Table2.Nb2
    FROM table1 LEFT JOIN Table2 ON table2.Type = Table1.type
    Puis
    Requête2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Table2.Type, Table1.Nb, Table2.Nb2
    FROM Table2 LEFT JOIN Table1 ON Table2.Type = Table1.Type
    Et enfin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (SELECT Type , Nb, NB2 from Requête1)
    union
    (SELECT Type , Nb, NB2 from Requête2)

    Mais cette dernière requête me donne :

    Type---Nb------NB2
    01-------1--------1
    01-------1--------5
    02-------2--------0
    02-------3--------0
    03-------0--------3

    et non (contrairement à ce que j'espérais)

    Type---Nb------Nb2
    01-------1--------6
    02-------5--------0
    03-------0--------3

    Et si je fais un Group by Type dans les requêtes1 et 2 (avant l'union)
    j'obtiens :

    Type---Nb--------NB2
    01------2---------6
    02------5---------0
    03------0---------3

    Ce qui ne paraît pas non plus convenir puisque le type '01' donne Nb=2 au lieu de Nb=1

    Bref je dois mal interprêter quelque chose dans ce qui m'a été expliqué...
    Quelqu'un pourrait-il m'aider ?
    Merci
    Michel

  2. #2
    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 547
    Points
    57 547
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    ce n'est pas le même problème qu'ici non plus...

    Ici, tu peux commencer par cette requête UNION:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ( SELECT type, Sum(Nb) as LaSomme , "Nb" as TypeNb  FROM Table1 GROUP BY Type)
    UNION ALL
    ( SELECT type, Sum(Nb2), "Nb2" FROM Table2 GROUP BY Type);

    Après, on peut essayer avec une requête "Analyse croisée", par exemple:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM nz(First(LaSomme),0) AS Valeur
    SELECT type
    FROM LaRequeteAvecUnion
    GROUP BY type
    PIVOT TypeNb;

    à construire avec les assistants.

  3. #3
    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
    Merci F-Leb... Ca fonctionne ok mainteant

    Et par ailleurs tu as raison : ce n'est pas le même problème que celui que j'avais posé précédemment dans la mesure où je ne regroupais pas...

    En tout cas, grace à toi, problème résolu
    Michel

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/09/2011, 12h08
  2. Union de 2 tables problème de regroupement
    Par juha dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 23/10/2007, 11h17
  3. Problème avec UNION et WHERE
    Par portu dans le forum Langage SQL
    Réponses: 13
    Dernier message: 20/04/2005, 11h29
  4. Problème de dépendances dans une table
    Par PrinceMaster77 dans le forum Outils
    Réponses: 1
    Dernier message: 22/11/2004, 12h39
  5. [Débutant] Union de deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/03/2004, 10h40

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