Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

TSQL CASE avec comparaison if dans l'instruction SELECT

Veuillez sélectionner la même chose dans la sélection externe. Vous ne pouvez pas accéder au nom d'alias dans la même requête.

SELECT *, (CASE
        WHEN articleNumber < 2 THEN 'Ama'
        WHEN articleNumber < 5 THEN 'SemiAma' 
        WHEN articleNumber < 7 THEN 'Good'  
        WHEN articleNumber < 9 THEN 'Better' 
        WHEN articleNumber < 12 THEN 'Best'
        ELSE 'Outstanding'
        END) AS ranking 
FROM(
    SELECT registrationDate, (SELECT COUNT(*) FROM Articles WHERE Articles.userId = Users.userId) as articleNumber, 
    hobbies, etc...
    FROM USERS
)x