|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() paul krawezyk Inscription : octobre 2010 Messages : 7 ![]() |
Bonjour, je vais essayé de faire simple :
J'ai une BD qui contient les champs suivant (en gros!!!): id nombreheure dbmois dbannee numerosemaine 1 9 Novembre 2010 44 2 8 Novembre 2010 44 3 9 Novembre 2010 45 Je fais une requete pour obtenir les numéro de semaine qui concernent le mois de novembre ET l'année 2010 : Code :
$sql = "SELECT DISTINCT numsemaine FROM nounou2 WHERE (dbmois='$choixmois' && dbannee='$choixannee')"; Merci d'avance pour votre aide ! |
|
|
00
|
|
|
#2 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
C'est monstrueux d'avoir des mois en toute lettres dans une base de données
![]() Sinon pour ta somme, il faut utiliser .... SUM Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() paul krawezyk Inscription : octobre 2010 Messages : 7 ![]() |
Génial merci çà fait des heures que je galère !!!
Mais encore une question, voilà ma requete et l'affichage de mes résultat : Code :
Est ce que je dois intégrer le calcul dans la requête ou bien le calculer après récupération des résultats ??? En tout cas merci encore !!! |
||
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
Bonjour,
Code :
$sql = "SELECT numsemaine, SUM(dbgarde) AS sommedbgarde FROM nounou2 WHERE (dbmois='$choixmois' AND dbannee='$choixannee') AND SUM(dbgarde) > 36 GROUP BY numsemaine";
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() paul krawezyk Inscription : octobre 2010 Messages : 7 ![]() |
Salut, non çà ne fonctionne pas !
|
|
|
00
|
|
|
#6 | ||
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 656 ![]() |
"ça ne fonctionne pas" n'est pas un message d'erreur valide. En règle générale, soit il ne se passe rien, soit tu te manges un superbe message d'erreur. (dans de très rares cas, l'ordi explose et/ou tente d'apprendre à voler à travers une fenêtre...)
Donc, donner un chouia plus de précisions serait une bonne idée. Bon en l'occurrence, il me semble qu'on ne peut pas faire un where sur une somme, il faut utiliser Having. Code sql :
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() paul krawezyk Inscription : octobre 2010 Messages : 7 ![]() |
Salut, je sais que je n'es pas été très explicite mais j'étais speed, désolé, c'est pas le genre de la maison.
Je connais pas HAVING, cà veut dire quoi ? |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
La clause HAVING d'une requête SQL est l'équivalent de la clause WHERE, seulement elle s'applique sur le résultat d'une fonction de regroupement comme SUM, COUNT, etc
Elle se place toujours à la fin, après la clause ORDER BY s'il y en a une. Autrement dit, si tu veux une requête qui te retourne toutes les sommes supérieures à 50, tu peux faire: SELECT SUM(champ) from table having SUM(champ) > 50 La clause WHERE ne peut pas marcher ici parce que c'est sur le résultat de SUM que l'on désire appliquer la condition. Le WHERE ne s'applique que sur la valeur d'un champ. |
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
oui désolé c'était having
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#11 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
j'ai écrit après? Je voulais dire avant, bien sûr
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
vi vi tu as écris ca et j'ai cité pour pas que tu édites après
|
|
|
00
|
|
|
#13 |
|
Membre actif
![]() Tobbi Filteau Inscription : mai 2010 Messages : 176 ![]() |
Bon ben coudonc... va falloir que j'endure cette tache indélébile à mon dossier
Et merci d'avoir pointé mon erreur, personne n'est parfait après tout |
|
|
00
|
|
|
#14 | ||||
|
Invité de passage
![]() paul krawezyk Inscription : octobre 2010 Messages : 7 ![]() |
Tout d'abord merci pour votre aide !
Donc cette requête me retourne bien tous les numéro de semaine et le nombre d'heure dont la somme est supérieur à 36: Code :
En gros, si j'ai Semaine 44 = 37 heures et Semaine 45 = 38 heures, je cherche nombreheuresup = 3 heures Merci d'avance ! J'ai trouvé : Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com