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 :

le résultat souhaité n'est pas obtenu


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut le résultat souhaité n'est pas obtenu
    Bonjour, je fais de nouveau appel à votre aide. Je suis bloquée sur une nouvelle requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    SELECT ob.nni,ob.nom,ob.prenom,of.libelle_offre,ob.obj,v.nbvente FROM offres of LEFT OUTER JOIN (      
    SELECT nni,nom,prenom, ob.code_offre, 
                 ob.obj
          FROM obectifs ob,agents ag 
          WHERE ob.num_agent = ag.num_agent AND ob.num_semaine = '11'
     AND ob.annee = '2010' 
    AND ob.num_agent IN (
    SELECT num_agent from agents where num_equipe = 4)
    ) ob ON ob.code_offre = of.code_offre 
     
      LEFT OUTER JOIN (
          SELECT v.code_offre,
                 count(v.num_vente) AS nbvente
          FROM ventes v 
          WHERE v.date_vente = '2010-03-15'
          GROUP BY v.code_offre
         ) v 
         ON v.code_offre = of.code_offre   WHERE of.code_canal = 'crc_qe' order by ordre
    Le résultat que je souhaite avoir est avoir une ligne correspondant au nombre de ventes pour chaque nni et chaque offre...

    pour le moment j'obtiens ma liste des offres avec le nombre de vente correspondant mais pas par nni.

    Ai-je oublié un groupe by ou c'est toute la strucuture de la requête qui est incorrecte?

    Merci de votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    avez vous le nni dans votre table ventes?

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Que te donnes ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    SELECT ob.nni,ob.nom,ob.prenom,of.libelle_offre,ob.obj,v.nbvente 
    FROM offres of 
    LEFT OUTER JOIN (      
                            SELECT nni,nom,prenom,ob.code_offre,ob.obj,
                                      count(v.num_vente) AS nbvente 
                            FROM obectifs ob INNER JOIN agents ag 
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            Where ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 4)
     
                          GROUP BY nni,ob.code_offre,ob.obj,nom,prenom
     
                          ) ob 
     ON ob.code_offre = of.code_offre 
      WHERE of.code_canal = 'crc_qe'

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    cette requête me donne une erreur

    Citation Envoyé par teach Voir le message
    Que te donnes ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    SELECT ob.nni,ob.nom,ob.prenom,of.libelle_offre,ob.obj,v.nbvente 
    FROM offres of 
    LEFT OUTER JOIN (      
                            SELECT nni,nom,prenom,ob.code_offre,ob.obj,
                                      count(v.num_vente) AS nbvente 
                            FROM obectifs ob INNER JOIN agents ag 
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            Where ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 4)
     
                          GROUP BY nni,ob.code_offre,ob.obj,nom,prenom
     
                          ) ob 
     ON ob.code_offre = of.code_offre 
      WHERE of.code_canal = 'crc_qe'
    dans la table vente j'ai le numéro de l'agent, pas le nni

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Voici la requete après correction des erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    SELECT ob.nni,ob.nom,ob.prenom,of.libelle_offre,ob.obj,ob.nbvente 
    FROM offres of 
    LEFT OUTER JOIN (      
                            SELECT nni,nom,prenom,ob.code_offre,ob.obj,v.nbvente
                            FROM obectifs ob INNER JOIN agents ag 
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,
                                      count(v.num_vente) AS nbvente 
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
    group by v.code_offre
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            WHERE ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 4)
     
                          GROUP BY nni,ob.code_offre,ob.obj,nom,prenom
     
                          ) ob 
     ON ob.code_offre = of.code_offre 
      WHERE of.code_canal = 'crc_qe'
    et elle me donne le même résultat, la liste des offres sans leurs ventes sans prendre en compte le nni. toutes les colonnes sont à null sauf le libellé des offres

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    procédons étape par étape:

    je pense que le Where de la sous requête est pour quelque chose:
    WHERE ob.num_semaine = '11'
    AND ob.annee = '2010'
    AND ob.num_agent IN (SELECT num_agent
    FROM agents
    WHERE num_equipe = 4)
    Vérifie si le résultat de la sous requçete est cohérent
    sinon essaie d'ajouter ces conditions dans le Left Join

    la sous requête devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
          SELECT nni,nom,prenom,ob.code_offre,ob.obj,v.nbvente
                            FROM obectifs ob INNER JOIN agents ag 
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,
                                      count(v.num_vente) AS nbvente 
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
    GROUP BY v.code_offre
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            And ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 4)
     
                          GROUP BY nni,ob.code_offre,ob.obj,nom,prenom
    testes si le résultat te paraît cohérent.

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    Il y a une erreur de ma part dans le Select de la sous requête
    je te la corrige dans ma dernière proposition tu peux remonter la modification plus haut:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
                           SELECT nni,nom,prenom,ob.code_offre,ob.obj,
                            count(v.num_vente) AS nbvente 
                            FROM obectifs ob INNER JOIN agents ag 
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,v.num_vente
                                                      FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            And ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 4)
     
                          GROUP BY nni,ob.code_offre,ob.obj,nom,prenom

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    en effet, les restrictions sur l'année et le numéro de semaine ne sont pas pris en compte et les ventes ne sont pas comptées lorsque j'exécute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    SELECT nni,nom,prenom,ob.code_offre,ob.obj,v.nbvente
                            FROM agents ag LEFT OUTER JOIN obectifs ob
                            ON ob.num_agent = ag.num_agent 
                            LEFT OUTER JOIN ( SELECT v.code_offre,
                                      count(v.num_vente) AS nbvente 
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
     AND v.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
     
    GROUP BY v.code_offre
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            AND ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
    je souhaite en faite avoir pour chaque agent et pour chaque offre une ligne avec son nni, son nom, le libellé de l'offre même si l'objectif et le nombre de ventes associés sont null

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    j'ai tenté avec cette requête et la elle ne me retourne rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SELECT nni,nom,prenom,ob.code_offre,ob.obj,count(v.num_vente) as nbvente
                            FROM obectifs ob LEFT OUTER JOIN agents ag
                            ON ob.num_agent = ag.num_agent 
     
                            LEFT OUTER JOIN ( SELECT v.code_offre,
                                      v.num_vente
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-16'
     AND v.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
     
    GROUP BY v.code_offre
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            WHERE ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
    GROUP BY nni,ob.code_offre,ob.obj,nom,prenom

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    En partant du plus bas, il y un truc que je comprends pas trop...j'essaie d'obtenir la liste des offres avec l'objectif correpondant pour la semaine 11 de 2010. Je voudrais avoir les offres même si elles ont leur objectif null. pour cela je fais cette requête et ça ne me renvoie que les offres ayant un objectif différent de null...le problème peut venir d'ici.

    Voic ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT of.libelle_offre,ob.obj
    FROM offres of 
    LEFT OUTER JOIN  obectifs ob 		
                            ON of.code_offre = ob.code_offre
                            WHERE ob.num_semaine = '11'
    	           AND ob.annee = '2010'

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    un début de réponse la sous requête fonctionne si les objectifs ne sont pas null

  12. #12
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Je n'ai pas suivi le reste de la discussion, mais sur le dernier point évoqué vous devez procéder ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT of.libelle_offre, ob.obj
      FROM offres of 
           LEFT OUTER JOIN  obectifs ob         
             ON of.code_offre = ob.code_offre
            AND ob.num_semaine = '11'
            AND ob.annee = '2010'

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    et bien cela ne fontionne pas cette requête me renvoie les objectifs toutes semaines et toutes années confondues.....

    Citation Envoyé par Waldar Voir le message
    Je n'ai pas suivi le reste de la discussion, mais sur le dernier point évoqué vous devez procéder ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT of.libelle_offre, ob.obj
      FROM offres of 
           LEFT OUTER JOIN  obectifs ob         
             ON of.code_offre = ob.code_offre
            AND ob.num_semaine = '11'
            AND ob.annee = '2010'

  14. #14
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Un exemple ?

    Pour moi ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    With offres (code_offre, libelle_offre) AS
    (
    select 'O1', 'Lib O1' union all
    select 'O2', 'Lib O2' union all
    select 'O3', 'Lib O3'
    )
      ,  obectifs (obj, code_offre, num_semaine, annee) AS
    (
    select 1, 'O1', '11', '2010' union all
    select 2, 'O1', '11', '2011' union all
    select 3, 'O2', '12', '2010' union all
    select 4, 'O3', '11', '2010' union all
    select 5, 'O4', '11', '2010'
    )
    SELECT ofr.libelle_offre, obj.obj
      FROM offres ofr
           LEFT OUTER JOIN obectifs obj
             ON ofr.code_offre = obj.code_offre
            AND obj.num_semaine = '11'
            AND obj.annee = '2010';
     
    libelle_offre obj
    ------------- -----------
    Lib O1        1
    Lib O2        NULL
    Lib O3        4

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Ah non erreur de ma part, j'ai plusieurs offres différentes mais ayant le même libellé désolé

    Cependant lorsque j'execute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    SELECT nni,nom,prenom,ob.code_offre,ob.obj,count(v.num_vente) as nbvente
                            FROM obectifs ob LEFT OUTER JOIN agents ag
                            ON ob.num_agent = ag.num_agent 
     
                            LEFT OUTER JOIN ( SELECT v.code_offre,
                                      v.num_vente
    		                         FROM ventes v 
    		                         WHERE v.date_vente = '2010-03-15'
     AND v.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
     
    GROUP BY v.code_offre
    		                        ) v
     
                            ON v.code_offre = ob.code_offre
                            AND ob.num_semaine = '11'
    	           AND ob.annee = '2010' 
    	          AND ob.num_agent IN (SELECT num_agent 
                                                          FROM agents             
                                                         WHERE num_equipe = 1)
    GROUP BY nni,ob.code_offre,ob.obj,nom,prenom
    je n'ai que les offres ayant un objectif qui apparaisse et toutes semaines et années confondues cette fois ci c'est vrai


    Voici le résultat :

    nni |nom |prenom |code_offre |obj|nbvente
    A00016| conseiller| qe |accueil_btq | 5 | 0
    A00016 |conseiller| qe | ade_qe | 8 | 0
    A00016| conseiller| qe | afe_qe | 1 | 0
    A00016| conseiller| qe | afe_qe | 2 |1
    A00016| conseiller| qe | afe_qe | 15| 0
    A00016| conseiller| qe | bo_factures_deroutee| 5 |0
    A00016| conseiller| qe | email_qe | 5 |0
    A00016| conseiller| qe | email_qe | 8 | 0
    A00016| conseiller| qe | email_qe | 9 |0
    A00016| conseiller| qe | mens_pa_qe | 20 |0
    A00016| conseiller| qe | sc_qe | 5 |0
    A00017| conseiller| simm part| afe_qe | 3 |0
    A00017| conseiller| simm part| email_qe | 5 |0

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    tu devrait inverser ta première jointure agent en premier puis objectif

    FROM obectifs ob LEFT OUTER JOIN agents ag
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FROM agents ag LEFT OUTER JOIN obectifs ob

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    euh oui mais cela me donne les réusltats pour tous les agents alors que je ne veux que ceux de l'équipe 1...le résultat la c'est pour tous les agents et tous les objectifs des agents quelque soit l'équipe, la semaine et l'année

  18. #18
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Est-ce que num_agent est clef primaire ou unique dans la table agents ?

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    num_agent est clé primaire dans la table agents
    num_semaine,année, num_agent est clé primaire dans la table objectifs
    num_vente est clé primaire dans la table vente et num_agent clé étrangère

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Points : 164
    Points
    164
    Par défaut
    essais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    SELECT nni,nom,prenom,ob.code_offre,ob.obj,count(v.num_vente) AS nbvente
    FROM agents ag LEFT OUTER JOIN obectifs ob
    ON ob.num_agent = ag.num_agent 
    LEFT OUTER JOIN ( SELECT v.code_offre,
                      v.num_vente
                      FROM ventes v 
                      WHERE v.date_vente = '2010-03-15'
                      AND v.num_agent=ag.num_agent 
                     ) v
     
    ON v.code_offre = ob.code_offre
    AND ob.num_semaine = '11'
    AND ob.annee = '2010' 
    WHERE num_equipe = 1
     
     
    GROUP BY nni,ob.code_offre,ob.obj,nom,prenom

Discussions similaires

  1. [AC-2003] Vérifier que le résultat d'une requête (n')est (pas) vide
    Par pedrus16 dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/06/2009, 15h34
  2. Requete ne renvoyant pas le résultat souhaité
    Par tranzebou dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/08/2008, 16h15
  3. Réponses: 21
    Dernier message: 11/04/2008, 16h16
  4. ne pas afficher le résultat si c'est 0
    Par zorba49 dans le forum Excel
    Réponses: 11
    Dernier message: 23/03/2007, 16h00
  5. [GD] L'image obtenue n'est pas redimensionnée
    Par poussinphp dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/11/2005, 10h12

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