|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 16 ![]() |
Bonjour J'ai besoin d'avoir en sql le nom, prénom et cumul de QTE produits par client et je ne veux afficher que les lignes tel que le cumul dépasse une certaine valeur exemple.
table initiale c dans le fichier table Résultat si cumul>=200 est dans le ficher résultat Je vous remercie d'avance |
|
|
00
|
|
|
#2 | ||
|
Membre confirmé
![]() antoine jouanÉtudiant Inscription : janvier 2010 Messages : 175 ![]() |
Bonjour,
Je ne suis pas sur d'avoir tout bien compris mais je vais essayer. Alors si le cumul et bien l'addition de tes qts. Tu peux faire une requete de type Code :
|
||
|
|
01
|
|
|
#3 |
|
Membre confirmé
![]() antoine jouanÉtudiant Inscription : janvier 2010 Messages : 175 ![]() |
Enfaîte, si c'est dans le même genre que t'on image résultat ce que tu désire c'est un peu plus compliqué, le plus simple et un requête avec toutes tes tuples et faire un traitement via un autre langage.
Sinon vas voir du coter des requêtes multiples avec des if et tout, mais je ne pense pas que ça soit la meilleur solution autant en terme de maintenance qui voudra reprendre la requête et en mise en place tu vas perdre plus de temps |
|
|
01
|
|
|
#4 |
|
Membre Expert
![]() |
En fait vous voulez:
Le max avec la date correspondante puis le cumul global + date min et date max?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|
|
00
|
|
|
#5 | |||
|
Membre Expert
![]() |
Je ne comprends pas exactement le résultat escompté.
Citation:
La syntaxe pour filtrer l'agregat(SUM) est HAVING de la sorte: Code :
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir. |
|||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
De toute façon la requête n'aurait pas été compilée puisque la syntaxe est fausse.
En effet, on ne peut pas spécifier une clause WHERE sur un alias de colonne, sauf si cet alias provient : - d'une expression de table commune - d'une sous-requête. En revanche on peut le faire dans l'ORDER BY. Cela est dû au fait que le plan de requête est construit à partir de la requête dans cet ordre : - Traitement de la clause FROM / JOIN / APPLY - Traitement des clauses WHERE/AND éventuelles - Calcul de groupes si la clause GROUP BY existe - Filtrage des groupes si la clause HAVING existe - Ajout des colonnes et expressions du SELECT - Tri suivant l'éventuelle clause ORDER BY. @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
|
|
#7 | |||
![]() ![]() |
Ce qui m'embête surtout c'est que votre résultat attendu ne correspond pas à vos données initiales, c'est un grand manque de rigueur.
Donc, avec un autre jeu de données je suppose que ce que vous voulez obtenir est la requête suivante : Code :
Citation:
__________________
Email : http://scr.im/waldar |
|||
|
00
|
Copyright © 2000-2012 - www.developpez.com