SQL requête CASE WHEN COUNT

Utilisateur anonyme -  
cyril1982 Messages postés 110 Statut Membre -
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

  1. cyril1982 Messages postés 110 Statut Membre 12
     
    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