Bonjour,
Je fais appel à votre aide car le problème que j'ai dans ma requête sql me dépasse.
J'ai une table client (idclient, sexeclient, etc...), une table ressource (idclient, quantityres, idtyperes, idunitqutres, etc...), une table restype (id, name, etc...) et une table unitprim (id, etc ...)
J'ai mis uniquement le nom des colonnes qui m'interessent dans les tables. Ce que je voudrais faire, c'est comptabiliser le somme des ressources par type en fonction du sexe des clients.
J'ai fais une requête sql, mais je n'arrive pas à regrouper, par exemple :
pour 2 clients de même sexe et ayant le même type de ressources avec la même unité, la requête me retourne le résultat sur 2 lignes distinctes alors que je voudrais qu'il me la somme et qu'il me la regroupe.
Voici ma requête :
Code :
- select
- sexeclient, sum(b.ressource.quantityres) as "Somme ressources",
- count(b.client.sexeclient) as "Nombre clients",
- b.restype.name as "Type ressource"
- from
- b.client, b.ressource, b.unitprim, b.restype
- where
- b.client.idclient = b.ressource.idclient
- and b.ressource.idunitqutres = b.unitprim.id
- and b.ressource.idtyperes = b.restype.id
- group by (
- b.client.sexeclient, b.ressource.quantityres, b.restype.name
- )
- order by sexeclient;
|
Du coup ça me sort :
sexeclient | Somme des ressources | Nombre clients | Type ressource
--------------------------------------------------------------------------------
M | 100 | 2 | gpl
M | 100 | 2 | gpl
M | 100 | 2 | wire
J'aurais aimer avoir plutôt ce résultat :
sexeclient | Somme des ressources | Nombre clients | Type ressource
--------------------------------------------------------------------------------
M | 200 | 4 | gpl
M | 100 | 2 | wire
Est ce que quelqu'un aurait une idée d'où vient le problème dans ma requête sql ?
Merci.