Сортировка MS Access - PullRequest
       33

Сортировка MS Access

0 голосов
/ 09 июля 2020

У меня есть таблица, в которой хранится информация о моем персонале. Я хотел бы отсортировать их по званиям, которые не соответствуют ASCII или алфавитному порядку.

Например, SO - это старшие офицеры, ASO - помощники старших офицеров, а O - офицеры. Я хотел бы отсортировать их в следующем порядке: SO -> ASO -> O.

Мне интересно, есть ли способ добиться этого. Любая помощь приветствуется.

1 Ответ

1 голос
/ 09 июля 2020

Вы можете использовать условное выражение в 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;
...