Problème requête sql serveur

[Résolu]
Signaler
-
Messages postés
17
Date d'inscription
jeudi 31 octobre 2013
Statut
Membre
Dernière intervention
9 février 2016
-
Bonjour,
Je sollicite votre aide car j'ai une préoccupation
Voici ma rquête :
select numagrctr, StationCode, Immat, ResCtl, DatCre
from AS_PV
where DatCre between '20130901' and '20130930'
AND CodGenre in('TW1', 'TW2')
order by DatCre asc

le champ resctl est de type booléen (valeur 1 ou 0) je souhaite afficher a la place de ces valeurs 'Bon' si resctl =0 et 'mauvais' si resctl=1 mais je ne sais pas comment faire.

5 réponses

Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
salut, les tests se font de cette manière :

if(ResCtl , "Bon" , "Mauvais") 

c'est à dire :

if( VALEUR_A_TESTER , VALEUR_SI_VRAI , VALEUR_SI_FAUX)

naga
MERCI JAI TROUVER
select DatCre , Immat,
CASE ResCtl
WHEN '0' THEN 'BON'
ELSE 'Mauvais'
END AS ResCtlLibelle

from AS_PV
where DatCre between '20130901' and '20130930'
AND CodGenre in('TW1', 'TW2')
order by DatCre asc
Messages postés
4270
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
4 mars 2021
16
le switch case est une solution mais dans le cas de test de booléen c'est un peu lourd de mon point de vue mais bon c'est ton code ;)
Je ne comprend toujour pas commen faire
Messages postés
15
Date d'inscription
dimanche 29 septembre 2013
Statut
Membre
Dernière intervention
21 février 2014

select numagrctr, StationCode, Immat, ResCtl,
decode(ResCtl,0,'BON',1,'MAUVAIS')
, DatCre
from AS_PV
where DatCre between '20130901' and '20130930'
AND CodGenre in('TW1', 'TW2')
order by DatCre asc

JE laisse volontairement ResCtl pour que tu puisses checker le resultat

Fonction decode
decode(valeur à tester,si,alors,si,alors,dans les autres cas)
Ps : dans les autres cas n'est pas obligatoire je ne l'ai pas mis dans ton code c'est a toi de voir
Messages postés
17
Date d'inscription
jeudi 31 octobre 2013
Statut
Membre
Dernière intervention
9 février 2016
1
autre solution tu peux passer par la fonction replace sql