Нужна сортировка с использованием внешнего массива или данных, разделенных запятыми
Я работаю с PostgreSQL 8.0.2, у меня есть таблица
create table rate_date (id serial, rate_name text);
и это данные
id rate_name
--------------
1 startRate
2 MidRate
3 xlRate
4 xxlRate
После выбора он покажет данные с порядком по умолчанию или порядком, примененным к любому столбцу той же таблицы. Мое требование заключается в том, что у меня есть отдельная сущность, из которой я буду получать данные в виде (xlRate, MidRate,startRate,xxlRate), поэтому я хочу использовать эти данные для сортировки выбора в таблице rate_data. Я пытался объединить значения, но он не работает, и никакое другое решение не может сработать. Если у кого-то есть идея, пожалуйста, поделитесь подробностями.
Выход должен быть
xlRate
MidRate
startRate
xxlRate
моя попытка / мышление.
select id, rate_name
from rate_date r
join (
VALUES (1, 'xlRate'),(2, 'MidRate')
) as x(a,b) on x.b = c.rate_name
1 ответ
Я не уверен, что это полезно, но в Oracle вы могли бы добиться этого следующим образом:
select *
from
(
select id, rate_name,
case rate_name
when 'xlRate' then 1
when 'MidRate' then 2
when 'startRate' then 3
when 'xxlRate' then 4
else 100
end my_order
from rate_date r
)
order by my_order
Может быть, вы можете сделать что-то подобное в PostgreSQL?