Menu

Requête [Résolu]

Messages postés
4
Date d'inscription
mercredi 13 mars 2019
Dernière intervention
13 mars 2019
-
Bonjour à tous , je suis débutante en SQL , j'aimerai faire une requête qui me permet d'effectuer ces conditions:
table Personne( nom, prenom, mail, password, Age, Num)

si la personne a moins de 26 ans et fait partie des 5 premiers arrivant, alors ' reduction 30%'
si la personne a moins de 26 ans mais ne fait pas partie des 5 p arrivant, alors ' reduction 10%"
si la personne a plus de 25 ans , bah elle n'aura pas de message

merci de m'aider svp


Configuration: Windows / Chrome 72.0.3626.121
Afficher la suite 

Votre réponse

1 réponse

Messages postés
24948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2019
1893
0
Merci
Bonjour,

Il y a pleins de façons de faire....

Déjà.. pour la vérification de l'age.. tu peux utiliser un IF ou un CASE WHEN

Pour ce qui est de la "position"... après avoir appliqué un ORDER BY sur la colonne voulue.. tu peux utiliser un petit bout de code pour connaitre la "ligne" http://www.mysqltutorial.org/mysql-row_number/

Ou simplement utiliser la clause LIMIT ; OFFSET et un UNION pour créer tes différents "niveaux"


Au passage :
http://www.commentcamarche.net/faq/10925-demander-de-l-aide-pour-vos-exercices-sur-ccm

.


fachiwowo
Messages postés
4
Date d'inscription
mercredi 13 mars 2019
Dernière intervention
13 mars 2019
-
Merci pour ta reponse

J'ai appliqué ceci sur la table Personne( nom, prenom, mail, password, Age, Num)

SELECT *
FROM personne
CASE
WHEN age <26 THEN 'felicitation vous beneficiez de -30%'
ORDER BY personne
LIMIT 5
WHEN age <26 THEN 'felicitation vous beneficiez de -10%'
END
Mais ceci ne marche pas
et aussi quelle condition dois je mettre pour les plus de 25ans qui n'auront pas de message concernant les réductions
merci
jordane45
Messages postés
24948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2019
1893 -
le case when, dans ton cas, est à mettre dans le SELECT .... pas après le FROM (je voudrais bien savoir d'où tu as pu sortir ça d'ailleurs... ça n'existe pas ! )
fachiwowo
Messages postés
4
Date d'inscription
mercredi 13 mars 2019
Dernière intervention
13 mars 2019
-
est ce possible que vous corrigez ma requete svp?

bah d'habitude je mets FROM ..... puis WHERE ... et je pensais que ca doit être dans tous les requêtesSQL
( j'ai fait cette condition en php , mon prof veut que ca soit sur SQL et je suis pas forte en requete
merci de m'aider
jordane45
Messages postés
24948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 mars 2019
1893 > fachiwowo
Messages postés
4
Date d'inscription
mercredi 13 mars 2019
Dernière intervention
13 mars 2019
-
Je t'ai indiqué où le mettre ....
sur 10 lignes.. ce n'est pourtant pas trop compliqué...

ça devrait donner un truc du genre
SELECT P.* 
          ,IF(P.age <26  AND P.num <6 ,'felicitation vous beneficiez de -30%' ,IF(P.age <26 , 'felicitation vous beneficiez de -10%' , '' )) as REDUC
FROM personne  P


fachiwowo
Messages postés
4
Date d'inscription
mercredi 13 mars 2019
Dernière intervention
13 mars 2019
-
enfin ca marche marche ,

merci beaucoup .
Commenter la réponse de jordane45