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
"Don't think you are, know you are..." (Morpheus)
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
@+
"Don't think you are, know you are..." (Morpheus)
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
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
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à !
"Don't think you are, know you are..." (Morpheus)
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...
"Don't think you are, know you are..." (Morpheus)
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