我需要从两个表中选择,
RATING_TABLE
RATING_TYPE RATING_PRIORITY
TITAN 1
PLATINUM(+) 1
PLATINUM 2
DIAMOND(+) 3
DIAMOND 3
GOLD 4
SILVER 4
RATING_STORAGE
RATING AMOUNT
SILVER 200
GOLD 510
DIAMOND 850
PLATINUM(+) 980
TITAN 5000
我想根据 RATING_TABLE 中的RATING_PRIORITY从 RATING_STORAGE 表中选择评分。 我想选择评级优先级最低的一行。如果两个评级优先级是eqaul我想选择金额最低的那个。 所以我使用了查询,
select s.rating,s.amount
from RATING_TABLE r, RATING_STORAGE s
where r.rating_type= s.rating_type
and rownum=1
order by r.rating_priority asc , s.amount asc ;
我在排序结果时得到正确的输出但是 rownum = 1 无法给出最顶行。
先谢谢。
答案 0 :(得分:1)
您需要在完成排序后选择,在您的情况下:
select *
from (select s.rating
,s.amount
from rating_table r
,rating_storage s
where r.rating_type = s.rating_type
and rownum = 1
order by r.rating_priority asc
,s.amount asc)
where rownum = 1;