Сортировка данных в базе данных Access, где столбец имеет цифры и буквы - PullRequest
4 голосов
/ 18 июля 2011

Пожалуйста, помогите мне, потому что я не смог понять это правильно.

Что такое SQL-доступ для выбора этого столбца (столбца A), чтобы он возвращал набор результатов с различными значениями, отсортированными сначала по номерам, а затем по буквам.

Вот значения столбцов: {10A, 9C, 12D, 11G, 9B, 10C, 9R, 8T}

Я попытался «Выбрать отдельный столбец A из порядка tblClass на 1» но он возвращает {10A, 10C, 11G, 12D, 8T, 9B, 9C, 9R}, что не то, что я хочу.

Заранее спасибо.

Ответы [ 4 ]

5 голосов
/ 18 июля 2011

Для этого вы можете использовать функцию Val (). Из раздела справки: « Функция Val прекращает чтение строки с первого символа, который она не может распознать как часть числа »

Val (10A) даст вам 10, Val (9C) даст вам 9 и так далее. Таким образом, в вашем запросе сначала укажите Val (ColumnA), а затем ColumnA.

SELECT DISTINCT Val([ColumnA]) AS number_part, ColumnA
FROM tblClass
ORDER BY Val([ColumnA]), ColumnA;
1 голос
/ 18 июля 2011
SELECT DISTINCT ColumnA
FROM tblClass 
ORDER BY CInt(LEFT(ColumnA,len(ColumnA)-1)), RIGHT(ColumnA,1);

Если последний символ - буква, а остальные - число.

0 голосов
/ 18 июля 2011

заказ по 1?

Разве вы не имеете в виду заказ по столбцу А?

SELECT DISTINCT ColumnA
FROM tblClass
ORDER BY ColumnA
0 голосов
/ 18 июля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...