Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/03/2011, 12h58   #1
Membre éprouvé
 
Inscription : avril 2008
Messages : 554
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 554
Points : 402
Points : 402
Par défaut GROUP BY à un niveau

Bonjour à tous!

Je commencais à m'amuser follement avec le GROUP BY que je viens de découvrir et là je bute sur un souci:

Voici le code de ma requête SQL :

Code :
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 
 
	SUM(LBL.Quantite) qte,
	SUM(LBL.Quantite*LBL.PrixVente) montant,
 
	P.Poids_Produit pds,
	P.Poids_Contenant pdc,
	P.Poids_Emball pde,
	P.LibFamille
 
FROM LigneBl LBL
 
INNER JOIN Produit P ON P.Reference_Produit=LBL.Reference
INNER JOIN BonLivraison BL ON BL.NumBL=LBL.NumBL
 
WHERE DateBL BETWEEN '20110101' AND '20110322'
AND BL.Annule=0
AND P.LibFamille LIKE '%%'
 
GROUP BY 
P.LibFamille,
P.Poids_Produit,
P.Poids_Contenant,
P.Poids_Emball
 
ORDER BY P.LibFamille
La requête fonctionne bien, mais les poids de certains produits de la même famille étant différents je n'arrive pas à regrouper les quantités, ainsi que les poids...

Voici ce que j'obtiens avec la requête



Je souhaiterai donc ne pas avoir de doublon dans la colonne famille et le résultat suivant par exemple pour la famille ANTIROUILLE

Qte = 315
TOTAL POIDS = 1986
TOTAL POIDS CONTENANT = 492.75
TOTAL POIDS EMBALLAGE = 1493.25

Merci d'avance pour l'aide!
zouzoukha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 13h20   #2
Membre éprouvé
 
Inscription : avril 2008
Messages : 554
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 554
Points : 402
Points : 402
Oh la la désolé du post inutile...
Après avoir posté au bout de 2 heures de recherche, je viens de tenter en mettant des sommes partout et le code suivant marche :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT 
 
	SUM(LBL.Quantite) qte,
	SUM(LBL.Quantite*LBL.PrixVente) montant,
	SUM(LBL.Quantite*P.Poids_Produit) pds,
	SUM(LBL.Quantite*P.Poids_Contenant) pdc,
	SUM(LBL.Quantite*P.Poids_Emball) pde,
 
	P.LibFamille
 
FROM LigneBl LBL
 
INNER JOIN Produit P ON P.Reference_Produit=LBL.Reference
INNER JOIN BonLivraison BL ON BL.NumBL=LBL.NumBL
 
WHERE DateBL BETWEEN '20110101' AND '20110322'
AND BL.Annule=0
AND P.LibFamille LIKE '%%'
 
GROUP BY 
P.LibFamille
 
ORDER BY P.LibFamille
Merci encore
zouzoukha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h26.


 
 
 
 
Partenaires

Hébergement Web