|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Mickaël Inscription : février 2011 Messages : 82 ![]() |
Bonjour,
Pas sur que je sois au bon endroit pour poster ce message menfin bon je n'ai pas trouvé de forum SQL. Bref, mon idée est de calculer 2 sommes dans une même requête.... J'ai essayé plusieurs solutions et n'ai pas encore trouvé mon bonheur.. Je vous explique: J'aimerais pour chaque article: -calculer le stock (en faisant une somme des mouvements de stock) -calculer le total des précommandes en faisant la somme de toutes les lignes de pré-commande. Et dans la même requête ne sélectionner que les lignes dont stock<pré-commandes. Pour l'instant je fais (grossomodo) cela: Code :
mais je ne sais pas comment ne sélectionner que ceux où stock<précommandes. Je voulais ré-inclure tout ça dans un WITH ... mais cela ne passe pas. Là je crois qu'il me manque une notion SQL importante!! Merci pour votre aide |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 097 ![]() |
Bonjour,
Peut-être avec une clause HAVING en plus ? Code SQL :
tatayo. |
||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Mickaël Inscription : février 2011 Messages : 82 ![]() |
EFffectivement ça marche, merci Tatayoyo!!
ma difficulté était aussi de gérer un case pour cette somme en fonction de l'unité de commande du coup cela done apu près ça: Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Développeur C++\Delphi Inscription : juillet 2006 Messages : 7 828 ![]() |
On a apporté une solution plus normée dans la section Delphi : Double somme dans meme requete
Code sql :
Pour les éventuels NULL QTPRECOMMANDES -> CASE WHEN QTPRECOMMANDES IS NULL THEN 0 ELSE QTPRECOMMANDES END
__________________
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y ! Attention Troll Méchant ! ![]() "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer ! L'ignorance n'excuse pas la médiocrité ! L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde) Il faut avoir le courage de se tromper et d'apprendre de ses erreurs Parisien ! Dites NON à la VO ST au Cinéma ! Soit VF Soit VO sans sous-titre |
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Salut !
Juste deux remarques : - La clause WITH, c'est de la norme (SQL 1999). Ca passe au moins sous Oracle 9+, SQL Server (je sais plus quelle version), Postgres, DB2 (il me semble) - Toujours normé, COALESCE(QTPRECOMMANDES, 0) permet de remplacer ton CASE ... IS NULL
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
|
00
|
Copyright © 2000-2012 - www.developpez.com