Необходимо сделать выборку из таблицы БД строго определенных записей (WHERE `id` IN (1, 4, 34, 7, 15)) и при этом в строго определенном порядке. То есть в самой таблице нет никаких полей, по которым можно было бы отсортировать. Есть только последовательность ID'шников и именно в этой последовательности их нужно получить в ответе сервера на SELECT.
Задача: сделать это за один SELECT, не используя UNION'ов и временных таблиц. База данных MySQL5.0.
В частном случае для выборки двух полей можно было бы использовать скажем такую конструкцию с использованием IF():
Код:
SELECT *, IF(id=6,1,2) as `order` FROM `posts`
WHERE id in (6, 8)
ORDER BY `order` ASC
Для случая трех записей можно было бы использовать вложенный IF(), но для 10 запией это извращение. Ищу простой и элегантный способ.