|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 3 ![]() |
Bonjour, j'ai une requête SQL à faire pour l'entreprise ou j'effectue mon stage de 1ere année pour mon bts mais je bug depuis 4h dessus et bien sure il n'y a personne qui peut m’aider dans l'entreprise
Voici les tables que je vais utilisés dans la requêtes avec les champs dont j'ai besoin: t_statistique ( annee, societe, centrale, magasin, siret, ca) adherent (adhcode, adhrais) Ma requête doit s'effectuer seulement pour l'année 2010. Elle doit me montrer dans quels centrale d'achat (magasin pour son libellé) les adhérents (societe et adhcode pour l'identifiant de l'adhérent et adhrais pour son libellé) fournissent avec le CA qu'ils font dedans.(donc une somme de CA dans chaque centrale et par adhérents) Je voudrait aussi faire un tri par rapport au libellé magasin. Voici ce que j'ai essayé pour l'instant: SELECT DISTINCT (Magasin), siret, t_statistique.Societe, adhrais FROM t_statistique, adherent WHERE t_statistique.Societe=adhcode And annee= "2010" ORDER BY magasin; Cette requête marche parfaitement mais une fois que je rajoute la somme du CA, ça ne fonctionne plus et m’envoie le message d’erreur suivant : Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'magasin' comme une fonction d'agrégat. Est-ce que quelqu'un aurait la solution a mon problème parce que le SQL j'ai pas un top niveau et je vois réellement pas mon erreur Cordialement rav01 |
|
|
00
|
|
|
#2 | ||
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Bonjour,
Alors, lorsque tu utilises des fonctions sum dans tes requêtes il faut regrouper les éléments sur lequels tu veux que la somme soit effectuée. Tu dois donc ajouter un "group by Magasin" lorsque tu mets la somme. Par contre il risquerait alors de considérer d'autres champs ne comprenant pas de fonction d'agrégat, il faut alors aussi les ajouter dans le group by. Comme je n'ai pas tout compris à ce que tu voulais afficher et par rapport à quoi, je ne peux pas te donner de code directement fait, par contre, tu peux aisément réussir avec le 'requête design' ce que tu veux faire. Code :
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 3 ![]() |
merci pour ta réponse mais ça me fait exactement ce que j'avais sur ma requête.
Peut être qu'en expliquant les table cela sera plus simple à comprendre. Dans la table t_statistique sont rentré toute les commande passé par les magasin aux adhérents de mon entreprise. Si par ex disont que carrefour aurait passer 10000 commande chez duracel, il y aurait 10000 ligne différente concernant les commande de carrefour à duracel avec le montant des commande. Ce que je voudrait ces que pour chaque magasin (t_statistique.magasin), on est une ligne par adhérent chez qui elle a commandé( t_statistique.siret, t_statistique.Societe, adherent.adhrais) avec le montant total des commande(CA) et même pourquoi pas le nombre différent d'adhérent chez qui elle a commandé mais bon ça au pire je le ferai sur excel avec un tableau croisé dynamique. edit: Je sents qu'on va me traiter de boulet mais ma requête marchait en faite, j'ai comparer les siret et ils était différent ce qui veut dire que les magasins affiché était différent. Merci quand même pour l'aide |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Quentin D.Étudiant Inscription : avril 2011 Messages : 175 ![]() |
Ok cool que ça fonctionne, tu peux mettre le post en résolu ^^
__________________
Pourquoi faire aujourd'hui ce que l'on peut remettre à demain ?
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 3 ![]() |
c'est déjà fait t'inquiète pas ^^
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com