SQL + condition IF ? [Résolu/Fermé]

Signaler
-
 Taka21 -
Bonjour,

Je me pose une question.

Est-il possible de faire un test de condition de type IF... ELSE... dans une seule et même requête SQL ?

Je vais rechercher des valeurs à des dates précises et en fait un rapport pour obtenir certains taux.
Par contre, je ne dois pas être en mesure de faire ce genre de requêtes si une des valeurs équivaut à ZERO.
Division par zéro... ne doit pas être possible!

Je dois donc procéder à un test de la valeur avant de faire le rapport directement dans la requête SQL.

Est-ce que cela est possible ? ou dois-je absolument passer par deux requêtes différentes et m'occuper du rapport et de sa condition (aucune valeur = ZERO) à un niveau supérieur à SQL ?

Merci et bravo à celui qui pourra m'aider.


Tipo

4 réponses

Non ce n'est pas cela mon problème. Je présente un exemple :

J'ai une table BONBONS avec un ID, NOM, DATE.

L'ID est unique, le NOM défini un type de bonbon par exemple et la date, la date à laquelle j'ai ajouté le bonbon dans ma boite à bonbons.

Ce que je veux c'est savoir combien de bonbons "à la menthe" ont été mis dans ma boite en une semaine, il y a deux semaine et en une semaine, il y a une semaine. Donc 2 quantités en fait. Et je veux voir si il y a eu une augumentation, diminution ou aucun des deux d'ajout de bonbons dans cette boite.

Mais, je ne peux pas faire ce rapport lorsque l'ajout du bonbon = ZERO sinon ça revient à faire une division avec un ZERO et c'est faut.

(Je sais, dans mon exemple on les mets dans la boite, mais c'est pour le bien des dents)
7
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

J'ai pas bien compris ton problème mais il me semble que faire
SELECT * FROM table WHERE date is not 0; devrait convenir

ca me parait trop simple pour que ce soit ce que tu veux.
Je dois donc d'abord faire un contrôle pour savoir si la quantité d'ajout de bonbon = ZERO.
En cas de réussite, je fais le rapport, sinon je fais autre chose.

Un IF, ELSE en quelque sorte dans une requête SQL.
mais la tu fais une soustraction. Je vois pas de division ?
ok c'est bon je vois la division...
Messages postés
248
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
17 janvier 2009
24
Tu peux faire des IF en SQL :
https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html

Honnêtement, je pencherait plus pour le faire dans un langage de plus haut niveau que SQL.
Mais ça doit être possible.
Tipo 26 nov 2008 à 23:52 
Comme bien souvent, je trouve réponse à mes questions tout seul [...]


Et tu ne remets pas en question l'utilité de tes questions ?
et voila, 2013 . Je débute en sql. Je me pose la même question. Et je trouve une réponse.
Alors autant les gens qui se contentent d'un c'est bon j'ai trouvé sont énervants.

Autant ceux qui partagent leurs réponses font avancer les choses.
Merci d'avoir eut la gentillesse d'etre du bon coté.
+1 ! se poser des questions, y répondre, et partager ça avec les autres, c'est bien. Merci car ça m'aide bien aussi

+1! merci pour la réponse!
Bien vu Super :)