Как разместить определенные записи в верхней части списка

Я работаю со всеми типами валют и ставками в запросе. Поскольку они являются самыми популярными, возможно ли, чтобы доллары и евро располагались в верхней части списка запросов, прежде чем отображать остальную часть кодов валют в алфавитном порядке?

Всего 3 ответа


Скажем, ваша таблица называется tblRate, имеющей два столбца: Rate и Curr. Создайте запрос, который использует функцию Switch, чтобы присвоить ранжирование порядка USD (рейтинг порядка 1), EUR (raking order 2). Назначьте порядок ранжирования 3 во все другие валюты, используя функцию Nz. В запросе вы заказываете по рангу, затем по валюте.

Просмотр SQL:

SELECT Rate, Curr
FROM tblRate
ORDER BY Nz(Switch(Curr = "USD",1, Curr = "EUR",2),3), Curr

Если у вас есть таблица, содержащая исходные данные для списка, добавьте столбец «OrderNum» в таблицу, затем поместите 1 и 2 в доллары США и EUR соответственно. Затем, во всем остальном, поставьте большее число, например 3. Если после этого все они должны следовать алфавитному порядку, сделайте команду сортировки иметь две переменные в запросе, которые предоставляют данные в поле списка или выпадающие. Если ваша таблица, содержащая коды валют, называется «tblCurrencyCode», а поле, содержащее коды, называется «CurrencyCode», ваш код будет выглядеть примерно так:

SELECT CurrencyCode FROM tblCurrencyCode ORDER BY OrderNum ASC, CurrencyCode ASC


Альтернативным методом будет:

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

Что-то вроде.

Select currency 
from QryMostUsedCurrencies
Union all
Select currency from CurrencyTable
where currency not in (select currency from QryMostUsedCurrencies)

Таким образом, вы можете сохранить список наиболее используемых валют в отдельном запросе. Либо динамически глядя на прошлые транзакции, либо простой запрос выбора из таблицы валют для тех элементов, которые вы хотите отобразить сверху. Это поможет вам изменить most used валюты в одном месте, а не размещать sql в нескольких местах.