Regrouper et sommer plusieurs lignes selon critères [ SQL ] - SQL/NoSQL - Programmation
Marsh Posté le 20-07-2005 à 13:46:53
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.
Marsh Posté le 20-07-2005 à 14:04:21
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)
Marsh Posté le 20-07-2005 à 16:45:58
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
Marsh Posté le 20-07-2005 à 18:09:52
Faudrait sûrement des expressions régulières pour faire ça.
Marsh Posté le 20-07-2005 à 18:14:58
Au rique de passer pour un débile, c'est quoi que tu appelles "expression régulière" ? merci
Marsh Posté le 20-07-2005 à 18:25:30
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.
Marsh Posté le 20-07-2005 à 13:21:05
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
Est-ce possible en une seule requête ? Comment faire ?
Merci
Message édité par jeoff le 20-07-2005 à 13:22:25