Requete sql

Fermé
Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 - 23 oct. 2009 à 17:23
 Séquelle - 26 oct. 2009 à 22:05
Bonjour,
J'ai une table station (CodeS,nomS, cpS, telmairieS, nbhabS, nbtouristeS, nbskieurS)
et je voudrais avoir le nom des stations dont le nombre de touristes est au moins trois fois plus grand que le nombre d'habitants.
Voici le début de ma requete :
SELECT nomS, SUM (nbtouristeS), SUM (nbhabS)
FROM station
HAVING SUM(nbtouristeS) *3 > SUM(nbhabS)


Je sais que ce n'est pas sa mais j'suis vraiment bloquée pour résoudre cette requête.
Merci de vos réponses

3 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
23 oct. 2009 à 18:36
bonjour

remplace ton having par un where
0
du crétin, point te moquer tu ne dois
23 oct. 2009 à 22:32
...qui plus est, il ne t'est pas demandé les cumuls ! ce sera donc
select nomS from...
0
moderno31 Messages postés 870 Date d'inscription mardi 23 juin 2009 Statut Membre Dernière intervention 8 août 2012 92
25 oct. 2009 à 11:08
Hello
J'ai fait un exemple de mon coté
Il te faut faire ça
SELECT sum( `nb chats` ) AS nb_chats, sum( `nb lions` ) AS nb_lions
FROM `test4`
HAVING sum( `nb chats` ) >20
LIMIT 0 , 30
Concrètement la req va sommer les chats et les lions, on ne prend que le total chat supérieur à 20. Donc si dans ton résultat tu as un total chat dans une ferme (par exemple) inférieur à 20 tu ne le compterait pas.
Attention, il manque une dimension dans ma requete pour qu'elle soit vraiment parlante.

Quand tu veux filtrer dans une requete avec sommes par exemple, tu ne peux pas utiliser WHERE à n'importe quelles conditions.
Filtrer de plus sur des champs agregés, come c'est ton cas, tu dois utiliser Having.
Le WHERE s'emploierai par exemple pour filtrer un champ non sommé par exemple "nom de ferme"..

Pk tu veux faire SUM(nbtouristeS) *3 ???
Décrit moi ce que tu attends de cette requete et j'essaye de t'aider.

A+
0
Pk tu veux faire SUM(nbtouristeS) *3 ???
Décrit moi ce que tu attends de cette requete et j'essaye de t'aider. 
Just read the question :D
0