Requete sql

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   -  
 Séquelle -
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   Statut Membre Dernière intervention   60
 
bonjour

remplace ton having par un where
0
du crétin, point te moquer tu ne dois
 
...qui plus est, il ne t'est pas demandé les cumuls ! ce sera donc
select nomS from...
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
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
Séquelle
 
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