Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1529 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ SQL ] Regrouper et sommer plusieurs lignes selon critères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ SQL ] Regrouper et sommer plusieurs lignes selon critères

n°1154657
jeoff
Posté le 20-07-2005 à 13:21:05  profilanswer
 

Bonjour,
 
Je travaille sur l'impression d'un bon de réception et pour celà j'ai besoin d'interroger l'historique de ma base.
 
Il faut savoir que mon stock possède de nombreuse entrées donc la commande SQL suivante donne des résultats très longs.
 
Exemple :
 
SELECT hictr,hiqte,hitype FROM historique where hicam='C000' order by hictr asc
 
donne :
 
Fournisseur1  30  BienX
Fournisseur1  40  BienX
Fournisseur2  50  BienY
Fournisseur2  60  BienZ
Fournisseur3  70  BienY
Fournisseur3  80  BienY
 
 
Ce que je souhaite, c'est pouvoir regrouper et sommer les lignes d'un même fournisseur ET d'un même bien.
 
Donc avoir le résultat :
 
Fournisseur1  70  BienX
Fournisseur2  50  BienY
Fournisseur2  60  BienZ
Fournisseur3 150  BienY
 
J'ai bien pense à un sum d'un côté et un group by de l'autre mais je ne vois pas trop comment associer les deux  :sweat:  
 
Est-ce possible en une seule requête ? Comment faire ?
 
Merci :)


Message édité par jeoff le 20-07-2005 à 13:22:25
mood
Publicité
Posté le 20-07-2005 à 13:21:05  profilanswer
 

n°1154686
Beegee
Posté le 20-07-2005 à 13:46:53  profilanswer
 

SELECT hictr, hitype, SUM(hiqte)
FROM historique
WHERE hicam='C000'
GROUP BY hictr, hitype
ORDER BY hictr ASC;
 
C'est le principe même du group by, le fait de faire un SUM ou COUNT, etc.

n°1154708
jeoff
Posté le 20-07-2005 à 14:04:21  profilanswer
 

Ca fonctionne, merci beaucoup :)
 
J'étais pas tombé loin, il suffisait que j'inverse la section "group by" avec "order by" dans ma requête de test (placé dans le mauvais ordre)


Message édité par jeoff le 20-07-2005 à 14:04:54
n°1155058
jeoff
Posté le 20-07-2005 à 16:45:58  profilanswer
 

J'aurais une autre question, je vais éviter de recréer un topic.
 
En fait je voudrais faire un tri plus évolué que "order by champs asc/desc". Ceux-ci allant de A à Z / Z à A.
 
Un tri de la lettre D à la lettre C par exemple :
DEFGHIJK...ZABC
 
Est-ce possible ?
 
Merci :)

n°1155184
sielfried
Posté le 20-07-2005 à 18:09:52  profilanswer
 

Faudrait sûrement des expressions régulières pour faire ça.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1155188
jeoff
Posté le 20-07-2005 à 18:14:58  profilanswer
 

Au rique de passer pour un débile, c'est quoi que tu appelles "expression régulière" ? merci :)

n°1155198
sielfried
Posté le 20-07-2005 à 18:25:30  profilanswer
 

http://www.regular-expressions.info/
 
Mais en fait j'ai mal lu ce que tu as dit, donc ça ne servirait à rien ici. Je doute que ce que tu demandes soit faisable rien qu'avec une requête.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ SQL ] Regrouper et sommer plusieurs lignes selon critères

 

Sujets relatifs
prob comptage enregistrements SQL[SQL]trigger simple avant insertion
ACCESS requete SQL[VBS] Redimensionner un tableau a plusieurs dimensions
Pb sauts de lignes dans MySQLRéunir plusieurs cookies en un
requete SQL dans fonction JS[Sql server] SUM sur un datetime
Doublons dans un affichage partiel d'un résultat SQL[Sql server] DISTINCT sur un DateTime
Plus de sujets relatifs à : [ SQL ] Regrouper et sommer plusieurs lignes selon critères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR