C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 11 を表示中)
■2181 / )  2つのテーブルをUnionしてソートして一定件数で区切って…
□投稿者/ シャノン (111回)-(2007/03/23(Fri) 17:04:01)
シャノン さんの Web サイト

分類:[データベース全般] 

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 の短縮も含めて、何かいい方法はありませんでしょうか?

返信 編集キー/


管理者用

- Child Tree -