Форум "DataBase и SQL" (архив)
Язык запросов баз даных
where in и order byесть SQL-заппрос, в секции where которго используется in (например select * from table where id in (2,8,5,6)). Возможно ли как-то указать, чтоб сортировка результатов была в таком же самом порядке (2,8,5,6)?
|
|
> сортировка результатов была в таком же самом порядке (2,8,5,6)? создаешь дополнительную таблицу Код Значение 1 - 2 2 - 8 3 - 5 4 - 6 делаешь c ней JOIN и сортируешь по нужному полю. Иначе, ИМХО, никак. |
|
Не очень то удобно каждый раз создавать дополнительную таблицу... Да и дополнительное обьединение наверно замедлит работу для и так не лёгенького запроса. К тому же ещё придётся как-то решать проблему конфликтов одновременного доступа к таблице разными пользователями. Если конкретизировать задачу - есть функция, в качестве параметра которой передаётся массив айдишек товаров. Функция должна вывести эти товары в том же порядке. |
|
> Функция должна вывести эти товары в том же порядке. как варианты 1)несколько запросов равное количеству айдишек, но не думаю, что это будет быстрее. 2)сортировать уже полученную mysql-выборку клиентскими средствами. Если результирующие выборки небольшие -- то вполне реальный выход. |
|
уже сделал по второму варианту |
Тема находится в архиве
Написать ответ |
|
