我有一个UserInfo表,其中一个名为[Type]的列,数据类型为integer,并且可以包含低于int值
Employee -> 0
FormerEmployee ->1
Retiree -> 2
Disabled -> 3
COBRAParticipant -> 4
我正在编写一个sql查询,其中User Type排序顺序现在应该如下:
Employee, COBRAParticipant, Disabled,Retiree, Former Employee.
使用下面的order by子句不会给出预期的结果。
order by CASE U.[Type]
WHEN 0 THEN 'Employee'
WHEN 1 THEN 'COBRAParticipant'
WHEN 2 THEN 'Disabled'
WHEN 3 THEN 'Retiree'
WHEN 4 THEN 'FormerEmployee'
END;
有人可以建议我查询。
谢谢!
答案 0 :(得分:2)
试试吧
order by CASE U.[Type]
WHEN 0 THEN 0
WHEN 1 THEN 4
WHEN 2 THEN 3
WHEN 3 THEN 2
WHEN 4 THEN 1
END;