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

Langage SQL Discussion :

left outer join et group by


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Points : 53
    Points
    53
    Par défaut left outer join et group by
    Bonjour le forum,

    J'ai un petit souci syntaxique....
    J'ai une TABLEA structuré comme celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    id id_tic 
    1  100A
    2  100A
    3  200A
    4  300A
    5  400B
    et une TABLEB
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    id_tic Mt_Dep Cod
    100A   100     AAAA
    200A     50     BBBB
    200A     20     CCCC
    Je dois faire une jointure entre les 2 tables.
    je souhaiterais avoir ca comme résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     id id_tic Mt_Dep
    1  100A    100
    2  100A    100
    3  200A     70
    4  300A     0
    5  400B     0
    J'ai commencé a faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     select * from TABLEA left outer join  TABLEB ON TABLEA.id_tic = TABLEB.id_tic
    ce qui faut c'est de faire un sum (Mt_dep) et un group by id_tic de la TABLEB
    mais je ne sais pas comme l'écrire dans ma requète

    Pouvez- vous m'aider

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 394
    Points
    28 394
    Par défaut
    Je t'encourage à consulter le Cours sur les Regroupements

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    bonsoir al1_24

    Merci pour le lien que je suis allé voir justement avant mon post mais malheureusement, je n'y trouve pas mon bonheur.

    N'aurais-tu pas la solution ?

    Merci d'avance

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Ce genre de requete devrait vous aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT
       SUM(COALESCE(b.mt_dep,0)), 
       a.id_tic 
    FROM
       tableA a 
    LEFT OUTER JOIN 
       tableB b
    ON (b.id_tic=a.id_tic)
    GROUP BY a.id_tic
    Cependant comme l'a indiqué al1_24, ce genre de requete etant le B-A BA du regroupement, il ne serait que trop utile de prendre un peu de temps pour lire les documentations appropriées.

    Bon courage

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    bonjour Yanika_bzh

    Merci pour ta réponse.

    Ca devrait fonctionner si je voulais faire un group by sur la table A mais ce que j'ai besoin c'est d'avoir tous les records de la tabe A et avoir la somme de Mt_Dep de la table B pour chaque id_tic

    dans mon exemple bien avoir les 2 premières lignes

    id id_tic Mt_Dep
    1 100A 100
    2 100A 100

    3 200A 70
    4 300A 0
    5 400B 0

    Si je fais ta requete
    j'aurais 100A 200

    Merci

    A+

  6. #6
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Citation Envoyé par pobrouwers Voir le message
    bonjour Yanika_bzh

    Merci pour ta réponse.

    Ca devrait fonctionner si je voulais faire un group by sur la table A mais ce que j'ai besoin c'est d'avoir tous les records de la tabe A et avoir la somme de Mt_Dep de la table B pour chaque id_tic

    dans mon exemple bien avoir les 2 premières lignes

    id id_tic Mt_Dep
    1 100A 100
    2 100A 100

    3 200A 70
    4 300A 0
    5 400B 0

    Si je fais ta requete
    j'aurais 100A 200

    Merci

    A+
    Supposition ou fait avéré ??

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    bonjour,

    fait avéré...

  8. #8
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    et ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    SELECT
       SUM(COALESCE(b.mt_dep,0)),a.id, 
       a.id_tic 
    FROM
       tableA a 
    LEFT OUTER JOIN 
       tableB b
    ON (b.id_tic=a.id_tic)
    GROUP BY a.id,a.id_tic

Discussions similaires

  1. Problème left outer join et group by
    Par maya13400 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/09/2010, 20h40
  2. Bug LEFT OUTER JOIN Firebird
    Par Fabio2000 dans le forum SQL
    Réponses: 3
    Dernier message: 21/11/2005, 09h08
  3. Problème avec left outer join
    Par jgfa9 dans le forum Requêtes
    Réponses: 1
    Dernier message: 22/08/2005, 21h07
  4. Problème de performance avec LEFT OUTER JOIN
    Par jgfa9 dans le forum Requêtes
    Réponses: 6
    Dernier message: 17/07/2005, 13h17
  5. concatenation de chaine dans un left outer join
    Par the_edge dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/11/2004, 16h08

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