Aide d'amélioration une requette mysql

Résolu
cs_jolicoeur79
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
- 24 juin 2014 à 00:07
cs_jolicoeur79
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
- 18 sept. 2014 à 15:19
salut les amis
je voudrais extraire des donnée dans un base de donnée qui contient un table nommée emprunte qui contient un champs jours et un champs mois et un champs année je reussi a concatener les trois champs avec se code:
concat('t_emprunte'.'emp_jour','jours',' et','t_emprunte'.'emp_mois','mois',' et','t_affaire'.'aff_annee','annee' ) as duree_emprunt
le resultat = 0jours et 3mois et 0annee

est ce qu'il ya une possibilité d'ameliorer ce code pour qu'il ignore les champs null ou contient 0 pour quil affiche = 3mois au lieu (0jours et 3mois et 0annee)
j'ai essayer d integrer la fonction if(, ,) mais je ne sais pas comment
et merci beaucoup mes freres
--

2 réponses

jordane45
Messages postés
35767
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 juillet 2022
358
24 juin 2014 à 09:50
Bonjour,

Il existe plusieurs façons de réaliser des tests conditionnels.
par exemple le Case WHEN
http://sql.sh/cours/case

0
cs_jolicoeur79
Messages postés
63
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
1 avril 2018
1
Modifié par jordane45 le 18/09/2014 à 15:33
merci jordane
le problème a été résolu avec case
select * ,
case 
      when 't_emprunte'.'emp_jour' = 0  and't_emprunte'.'emp_annee' <> 0 then   concat('t_emprunte'.'emp_mois','et',' mois',''t_emprunte''.'emp_annee',' annee' ) 
          when ...............then.........
             .....
 else........
end 
'duree emprunt',
.........

;) @+


EDIT : Ajout des balises de code.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0