主キーMY_PKを持つテーブルMY_TABLEがあります。次に、たとえば(17,13,35,2,9)のように、順序付けられた主キーのリストがあります。
ここで、これらの主キーを使用してすべての行を取得し、指定されたキーのリストと同じ方法で行の順序を維持したいと思います。
私が最初にやっていたことは:
SELECT * FROM MY_TABLE WHERE MY_PK IN (:my_list)
ただし、返される行の順序はランダムであり、指定されたキーの順序に対応しなくなります。それを達成する方法はありますか?私が考えた唯一のことは、多くのSELECTステートメントを作成し、それらをUNIONと連結することですが、主キーのリストは非常に長く、数百または数千のキーを含む可能性があります。私が考えた別の方法は、後でアプリケーションで行を並べ替えることでしたが、これが不要なソリューションをお勧めします。