powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка в определённом порядке
7 сообщений из 7, страница 1 из 1
Сортировка в определённом порядке
    #39272661
Сэр Мюллих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базе данных есть не сортированная таблица CITIES со списком всех городов РФ, состоящая из двух колонок:
-----------------------
| ID | CITY |
-----------------------
В колонке CITY записаны названия городов РФ в случайном порядке. В колонке ID содержатся некие уникальные идентификаторы городов.

Напишите SQL запрос, который вернет из таблицы CITIES список всех городов РФ, отсортированных в следующем порядке:
1. Первое место - Москва
2. Второе место - Санкт-Петербург
3. Все последующие места - остальные города РФ, отсортированные в алфавитном порядке от А до Я

Таки есть решение на mysql через FIELD.
На аксессе есть вариант сделать через in("Москва";"Санкт-Петербург") ... Ну а дальше то как? Он только Москву и Питер и выводит...
Конечно, проще простого сделать в несколько этапом такую таблицу....
А как сделать всё это в одном простом запросе?
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272665
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
ORDER BY IIF(city="Москва";1;2), IIF(city="Питер";1;2), city
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272678
Сэр Мюллих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Мысль ясна, но не работает. Вместо 1 и 2 надо что-то конкретное написать?
Чота я не могу въехать в логику использования IIF в ORDER BY
Ну вот если city="Москва", то 1(всмысле 1?), если другой город, то 2(опять же что такое 2?)
Т.е. я то понимаю, что здесь необходимо описать вложенную конструкцию типа if...else
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272687
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сэр Мюллих,

Ошибся немного Akina, похоже

Код: vbnet
1.
ORDER BY IIF(city="Москва",1, IIF(city="Питер",2, city))
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272688
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?
Код: sql
1.
2.
3.
4.
5.
6.
SELECT 1 AS K, CITY
FROM CITIES WHERE CITY="Москва" OR CITY="Санкт-Петербург"
UNION ALL
SELECT 2 AS K, CITY
FROM CITIES WHERE CITY<>"Москва" AND CITY<>"Санкт-Петербург"
ORDER BY 1,2;
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272689
Сэр Мюллих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrShin,

ДА, вот так правильно, спасибо!
...
Рейтинг: 0 / 0
Сортировка в определённом порядке
    #39272690
Сэр Мюллих
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
__Michelle,

Это как раз решение через 2 подзапроса + через объединение.
Я бы так и сделал и всегда так делаю)
Но думаю в рамках задачи необходимо именно понимание как работает IIF
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сортировка в определённом порядке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]