ms访问排序

pod7payv  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(211)

我有一张table,上面有我的员工信息。我想按他们的排名排序,不遵循ascii或字母顺序。
例如,so代表高级军官,aso代表助理高级军官,o代表军官。我想按如下顺序排序:so->aso->o。
我想知道我有没有办法做到这一点。感谢您的帮助。

wpcxdonn

wpcxdonn1#

可以在中使用条件表达式 order by . 例如:

order by switch(rank = "SO", 1, rank = "ASO", 2, rank = "O", 3, 1=1, 4)

或使用嵌套 iif() :

order by iif(rank = "SO", 1
             iif(rank = "ASO", 2,
                 iif(rank = "O", 3, 4)
                )
            )

或者,使用带有排序值的引用表并将其联接:

select t.*
from t inner join
     ranks as r
     on r.rank = t.rank
order by r.ord;

相关问题