MS Access SQL Union Порядок запросов по вопросам - PullRequest
0 голосов
/ 18 января 2019

У меня есть список дат в таблице (datatype = text), который я хотел бы вывести в выпадающем порядке из выпадающего списка, используя запрос как часть фильтра в форме. Я также хотел бы добавить «Все» в список, чтобы пользователь мог сбросить фильтр с помощью выпадающего списка.

Я могу привести даты в порядок и объединить опцию «Все», но я не могу заставить их работать вместе. Кто-нибудь может помочь?

Получает даты в порядке:

SELECT TESTTABLE.DateTest
FROM TESTTABLE
ORDER BY CDate(TESTTABLE.DateTest);

Это объединяет, но оставляет даты в неправильном порядке:

SELECT TESTTABLE.DateTest
FROM TESTTABLE
UNION SELECT "(All)" AS BOGUS FROM TESTTABLE

Я бы хотел объединить эти два параметра в один запрос, чтобы поместить «Все» в верхнюю часть списка возвращаемых значений запроса с датами в порядке

Ответы [ 2 ]

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

Используйте функцию Формат для сортировки дат, сохраненных в виде текста. (All) будет наверху, так как специальный символ имеет наименьшее значение, а затем буквы

Select * from (
SELECT DISTINCT TESTTABLE.DateTest
FROM TESTTABLE
UNION SELECT "(All)" AS BOGUS FROM TESTTABLE)
order by Format(DateTest,'yyyy-mm-dd') asc
0 голосов
/ 18 января 2019

Вы можете попробовать ниже, используя столбец dummay для заказа по

select * from
(
SELECT TESTTABLE.DateTest,2 as ord
FROM TESTTABLE
UNION SELECT "(All)" AS BOGUS,1 FROM TESTTABLE
)A order by ord,CDate(DateTest)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...