分類:[データベース全般]
2007/03/23(Fri) 17:04:15 編集(投稿者)
Oracle 10g です。
「2つのテーブルの検索結果をUnionし、それをソートし、
一定件数で区切り、かつ、その一定件数をオーバーしたか
どうかを調べる」ということをやりたいのですが…
今、「オーバーしたかどうかを調べる」を除いた部分は
できています。
こんな感じ…
SELECT
*
FROM
(
SELECT
HOGE,
ROW_NUMBER() OVER ( ORDER BY HOGE ) RN
FROM
(
SELECT
HOGE
FROM
TABLE1
UNION
SELECT
HOGE
FROM
TABLE2
ORDER BY
1
)
)
WHERE
RN <= 100
オーバーしたかどうかを調べるのは、もう一段 SELECT を増やせば
できるのかなぁ…とか思っていますが、既に三段構えになっているため、
できればこれ以上増やしたくありません。
既存の SQL の短縮も含めて、何かいい方法はありませんでしょうか?