Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2020, 22:29   #1
polin11
Форумчанин
 
Регистрация: 07.06.2015
Сообщений: 164
По умолчанию Сортировка в запросе по массиву

Есть массив значений [4,6,5,1] некоторого поля.
Получаем записи со значениями из этого массива.
Код:
select *
from T
where Filed1=ANY(ARRAY[4,6,5,1])
Вопрос:
Нужно чтобы записи были в том порядке в котором значения в массиве, то есть
Запись1 со значением 4
Запись2 со значением 6
Запись3 со значение 5
Запись4 со значением 1

Можно использовать UNION c каждым значением по отдельности
Код:
select *
from T
where Filed1=4
....
union
select *
from T
where Filed1=1

Вопрос:
Можно ли добиться такой сортировки без использования UNION(UNION ALL), может быть ORDER BY
polin11 вне форума Ответить с цитированием
Старый 02.05.2020, 08:37   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

MS SQL?
Не знаю там синтаксиса, но в например в My SQL можно указывать свой порядок сортировки прямо в order by
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка в перекрестном запросе! Swatch Microsoft Office Access 4 14.01.2013 10:58
Какая сортировка в запросе через Adodataset? googl БД в Delphi 5 16.05.2012 16:26
сортировка в запросе west23 Microsoft Office Access 1 19.05.2010 00:32
Академические задачи по с++ (гдз) Сортировка и поиск совпадений по массиву Andrew#90 Общие вопросы C/C++ 2 10.01.2009 18:44