|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Développeur de jeux vidéo Inscription : novembre 2006 Messages : 197 ![]() |
Hello !
D'habitude je me débrouille pour faire des requêtes qui me retourne le bon résultat mais là je n'y arrive vraiment pas. Je souhaite récupérer une valeur bien précise en une seule requête malheureusement mon manque de connaissance en SQL me limite fortement :/ Donc j'ai un tableau Code :
En réalité ma table est un peu plus complexe mais rien que ce cas "simple" je n'y arrive pas Sauriez vous comment faire ? Merci
__________________
i = i++; |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 218 ![]() |
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur de jeux vidéo Inscription : novembre 2006 Messages : 197 ![]() |
salut !
merci pour ta réponse en lisant sommairement (je fais des testes avec NOT EXISTS dans 2 minutes :p) il semble que ce soit finalement au moins 2 requêtes imbriquées pour arriver à mes fins ? il n'y a donc pas moyen en 1 seul SELECT ?
__________________
i = i++; |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 218 ![]() |
Oui, avec une sous requête.
Je ne vois pas trop le problème en fait ? |
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2006 Messages : 141 ![]() |
Code :
|
||
|
|
10
|
|
|
#6 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 218 ![]() |
Dernière modification par punkoff ; 27/01/2012 à 13h51. |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Développeur de jeux vidéo Inscription : novembre 2006 Messages : 197 ![]() |
Il n'y a pas réellement de problème, je tente juste toujours de faire le minimum de requêtes.
Jean.Cri1 > Merci punkoff > Que manque-t-il ? Je fais un retour sous peu
__________________
i = i++; |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 218 ![]() |
|
|
|
00
|
|
|
#9 | |||||
|
Membre du Club
![]() Développeur de jeux vidéo Inscription : novembre 2006 Messages : 197 ![]() |
Citation:
Juste une petite rectification, il semblerait que l'espace entre "SUM" et '(' ne doive pas exister pour que la syntaxe soit valide c'est à dire : Code :
(corrigez moi si je me trompe Le HAVING conditionne le résultat de GROUP BY par ce qui le suit. Ce qui le suit est un résultat booléen et non une somme puisque le code est Notez le "=0" qui transforme le résultat en booléen Là où la syntaxe m'a travaillé le plus c'est au niveau du statement CASE Cette commande ajoute à la fonction statistique SUM une structure conditionnelle. Pour chaque itération du HAVING, le CASE va vérifier si loginID vaut 1 grâce à : si c'est le cas, il retourne la valeur 1 qui sera additionnée dans la somme grâce à : sinon il retourne la valeur 0 ne modifiant pas la somme. Le resultat de la somme est comparé à la constante 0 pour retourner un booléen et ainsi valider l’itération du HAVING. Merci encore Punkoff et Jean.Cri1 !
__________________
i = i++; Dernière modification par yvesall ; 28/01/2012 à 10h01. Motif: correction de paragraphe |
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com