SQL requête CASE WHEN COUNT

Fermé
dadateite Messages postés 312 Date d'inscription lundi 10 décembre 2007 Statut Membre Dernière intervention 4 août 2014 - 2 avril 2014 à 15:35
cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 - 2 avril 2014 à 18:45
Bonjour à tous,

J'ai une table A présenté de la façon suivante :
numero | offre
--------------
1 | S
1 | S
2 | S
3 | S


je souhaite récupérer les numeros et les offres mais s'il y a plusieurs offres je met NC a la place de l'offre.
résultat de mon select que je souhaite avoir:
numero | offre
--------------
1 | NC
2 | S
3 | S

Comment faire ? je pensais utiliser un CASE WHEN COUNT(*) mais ca ne fonctionne pas.

Merci d'avance

1 réponse

cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
2 avril 2014 à 18:45
Bonjour,

Voici l'une des solutions :
select numero, case when nb = 1 then offre else 'nc' end
from
(
 select numero, max(offre) as offre, count(*) as nb from ma_table group by numero
) as ma_table_temp
0