在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
答案 0 :(得分:0)
我不确定这是否有帮助,但是在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中做类似的事情吗?