Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 16h28   #1
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Par défaut Utilisation d'un IF dans une clause Where

Bonjour à tous,

Comme précisé dans le titre, je voudrais dans une requete faire des changements selon different cas.

Je souhaite comparer 2 valeurs:
  • matable.numeroDeSemaine integer
  • un parametre

Et je souhaite ajouter un 10 à mon numerodesemaine si celui ci est inferieur à 10.

Voici ma requete actuel:
Code :
1
2
3
4
 
SELECT idprojet
FROM projet
WHERE projet.numerodesemaine<=1020
et je souhaiterais dans l'idée:
Code :
1
2
3
4
5
6
7
8
9
 
SELECT idprojet
FROM projet
WHERE 
IF projet.numerodesemaine<10
  10+projet.numerodesemaine<=1020
ELse
  projet.numerodesemaine<=1020
End IF
Mais bien cela ne fonctionne pas. Je ne trouve pas de syntaxe.

Merci d'avance.
__________________
Les meilleures sauces de salade sont sur www.sauce-salade.com
Application WP7: Recettes de sauces
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 16h32   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 655
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 655
Points : 2 657
Points : 2 657
bonjour,


Je ne vois pas bien l'intéret d'un tel procédé vu que 9+10 sera de toute façon inférieur à 1020.

Sinon en sql le IF est modélisé par une structure CASE ...WHEN.

Faites de préférences vos opérations arythmétique sur la constante.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 16h36   #3
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Autant pour moi je rectifie
monnumerodesemaine est un varchar

Code :
1
2
3
4
 
SELECT idprojet
FROM projet
WHERE projet.numerodesemaine<='1020'
je vais regarder les cases
__________________
Les meilleures sauces de salade sont sur www.sauce-salade.com
Application WP7: Recettes de sauces
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 16h49   #4
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
J'ai trouvé avec le case pour ce que ça intéresse:
Code :
1
2
3
4
5
SELECT idprojet
FROM projet
WHERE case 
when numerosemaine<10 then '10' + projet.numerodesemaine 
else projet.numerosemaine end<='1020'
__________________
Les meilleures sauces de salade sont sur www.sauce-salade.com
Application WP7: Recettes de sauces
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h11.


 
 
 
 
Partenaires

Hébergement Web