SQL Cas de Commande Par commande spécifique

Ok, j'ai demandé quelque chose de semblable auparavant, mais j'ai fait des recherches et n'ai pas trouvé cela plus précisément.
J'ai une table que j'ai besoin de trier sur les champs Nomoption(de type NVarChar) et est actif(BIT).

J'ai besoin des résultats dans l'ordre suivant pour un DDL:

Option A
Option B
Option C
Options that are Active, by OptionName ASC 
Option D
Options that are Inactive, by OptionName ASC 

Pour l'instant j'ai

ORDER BY CASE WHEN PortalName = 'Company, Inc' THEN 0 ELSE 1 END,
         CASE WHEN PortalName = 'Setup' THEN 1 ELSE 2 END,
         CASE WHEN PortalName = 'Daily Routine' THEN 2 ELSE 3 END,
         CASE WHEN IsActive = 1 THEN 3 ELSE 4 END, 
         CASE WHEN PortalName = 'Master Option' THEN 4 ELSE 5 END,
         PortalName ASC

Mais cela renvoie les résultats comme suit:

Option A
Option B
Option C
Option D
Options that are Active, by OptionName ASC 
Options that are Inactive, by OptionName ASC 

Toute aide serait super!

Obtenu une réponse: le CAS LORSQUE PortalName = 'Master Option" PUIS 9999 AUTRE EXTRÉMITÉ 5

OriginalL'auteur NJohns | 2012-11-02