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 +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
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 +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
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
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
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...
Partager