Порядок сортировки запросов Microsoft Access - PullRequest
0 голосов
/ 18 января 2019

У меня проблема с заказом по пункту. Цель

Группа, подобная SSN вместе

Я бы хотел перечислить по номеру приоритета. 1 является номером с наивысшим приоритетом

Запрос

SELECT DRS_FILE.AGENCY, DRS_FILE.P1, DRS_FILE.FUND, DRS_FILE.ACCOUNT, DRS_FILE.LNAME, DRS_FILE.FNAME AS FNAME, DRS_FILE.SSN, DRS_FILE.PRIOR, DRS_FILE.BALDUE, DRS_FILE.BALDUE AS DRSBAL, DRS_FILE.FILL1, DRS_FILE.FILEDATE, DRS_FILE.FILL2
FROM DRS_FILE
ORDER BY DRS_FILE.SSN, DRS_FILE.P1;

Тем не менее, независимо от того, сколько я играю с запросом, дата все еще не в порядке, см. Мои результаты ниже.

AGENCY     P1    FUND     LNAME     FNAME    SSN        PRIOR       FILEDATE    FILL2
6909       28    K        SWASEY    JOHN    999999999   051         190117 
2620       8     L        SWASEY    JOHN    999999999   052         190117

Если вы заметили в столбце P1, который я использую, в качестве второго порядка по условию, но порядок неверный, поскольку приоритет № 8 должен быть выше 28. Может ли кто-нибудь помочь мне разобраться в этом? Почему это происходит? Что я делаю неправильно? Я попытался добавить ASC и DESC к каждому из полей в заказе по предложению без avial.

Самое смешное, что для некоторых записей это работает, а для других результаты не в порядке, как показано выше.

1 Ответ

0 голосов
/ 18 января 2019

Ваши "числа", вероятно, являются текстовыми, поэтому преобразуйте их в числовые с помощью Val ():

ORDER BY DRS_FILE.SSN, Val(DRS_FILE.P1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...