2016-06-22 14 views
0

私はプライマリキーを含む数字の表であるコレクションを持っており、それらのキーを含むselect文を数値コレクションのインデックスでソートする必要があります。 例えば:Oracle by配列のインデックス

TYPE "NUMBERCOLLECTION" AS TABLE OF NUMBER; 
... 
myNumberCollection numberCollection := numberCollection(45, 7799, 2187); 
... 
select nr 
    , columnA 
    , columnB 
    from myTable 
where myTable.nr member of myNumberCollection 
order by index of myNumberCollection 

NR  COLUMNA COLUMNB 
----------------------- 
45  xyz  abc 
7799 xyz  abc 
2187 xyz  abc 

答えて

1
SELECT nr, 
     columnA, 
     columnB 
FROM myTable m 
     INNER JOIN 
     (SELECT ROWNUM AS id, COLUMN_VALUE FROM TABLE(myNumberCollection)) c 
     ON (m.nr = c.COLUMN_VALUE) 
ORDER BY c.id; 
もたらします