I have a request to return table results with a custom order on one column and a secondary Alpha/Numeric sort (Sort on Alpha first then Numeric).
Example table:
Names Codes
21Tail F
Aardvark A
Lead Sled D
Meatbox D
23AceTail C
Cee One-Oh-Boom C
Corsair X
Texan X
Widow-Maker X
Convertor A
output:
Names(alpha/numeric) Codes(Custom Sort)
Aardvark A
Convertor A
Cee One-Oh-Boom C
23AceTail C
Corsair X
Texan X
Widow-Maker X
Lead Sled D
Meatbox D
21Tail F
Codes order should be ordered by A,C,X,D,F
Update: Accepted answer and, Here AND here helped me find a resolution.
This was what worked for me:
select *
from Table
ORDER BY CASE WHEN Codes = 'A' Then 0
WHEN Codes = 'C' Then 1
WHEN Codes = 'X' Then 2
WHEN Codes = 'D' Then 3
WHEN Codes = 'F' Then 4
Else 5 End,
CASE WHEN NAMES LIKE '[0-9]%' Then 1 Else 0 END,
Names