果物テーブル No Name -- ------ 1 みかん 2 りんご 3 いちご 4 ぶどう ソートテーブル ID No -- -- 1 2 2 4 果物テーブルを、Noの昇順に出力する。 ただし、ソートテーブルの IDが1のレコードのNoと、Noが等しいレコードを先頭に出力する。 出力結果 NO Name -- ------ 2 りんご 1 みかん 3 いちご 4 ぶどう
with 果物 as(
select 1 as No,'みかん' as Name from dual
union select 2,'りんご' from dual
union select 3,'いちご' from dual
union select 4,'ぶどう' from dual),
ソート as(
select 1 as ID,2 as No from dual
union select 2,4 from dual)
select No,Name
from 果物 a
order by
case when No = (select b.No from ソート b where b.ID= 1)
then 1 end,No;
case式で、スカラー副問い合わせを使ってます。