Bonjour,
est ce qu'il y a un moyen d'avoir un case/when/then mais avec plusieurs valeurs de retour ?
Je m'explique:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 case when id is not null then val1,val2 end
Bonjour,
est ce qu'il y a un moyen d'avoir un case/when/then mais avec plusieurs valeurs de retour ?
Je m'explique:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 case when id is not null then val1,val2 end
oui, lire : http://sqlpro.developpez.com/cours/sqlaz/select/#L7.2
A +
Salut SQLpro,
ça je sais faire (c'est un case/when classique). Moi ce que je veux c'est afficher deux champs (ou plus) si une condition est vérifiée. En d'autre termes, au lieu d'avoir case...when...then 1 je voudrais avoir case...when...then 1,2Envoyé par SQLpro
@+
Tu as essayé :Si ça ne correspond pas à ce que tu veux, dis nous en un peu plus sur tes motivations, ton SGBD, etc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT CASE WHEN COL_X IS NOT NULL THEN val1 ELSE 'ELSE...' END, CASE WHEN COL_X IS NOT NULL THEN val2 ELSE 'ELSE...' END FROM MYTABLE
Il faut les enchaîner !
A +
rebonjour,
ma question est simple: je voulais savoir si je peux afficher plusieurs colonnes à la suite d'un then, dans un case/when. A priori c'est pas possible parce que j'ai trouvé null part un exemple là dessus, et dans la doc de Sybase ils n'en parlent pas.
Considérons le cas suivant:
J'ai une table qui contient les champs id, nom et prenom. Je fais un case/when, et si la condition est true alors je voudrais afficher les colonnes nom et prenom:
Bien évidemment je peux avoir le même résultat de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 case when condition then nom, prenom else "vide", "vide end
Mais ça devient vite génant s'il y a plusieurs champs à afficher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 case when condition then nom else "vide" end case when condition then prenom else "vide" end
Voilà !![]()
alors faire une union
A +
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT ... FROM WHERE Condition1 UNION SELECT ... FROM WHERE Condition2
Merci pour ta réponse mais ca ne m'arrange parce que ca fait trop agrandir la requête, et ce sera du copier/coller 10 fois à peu près (pour 10 champs) !!
Donc si c'est pas possible comme j'ai demandé, c'est pas grave. C'était juste à titre d'infos, j'ai déjà contourné le problème avec plusieurs cas/when...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager