結合から 5000 から 10000 までのレコードのサブセットを選択しようとしています。過去にこのようなクエリが機能するようになりましたが、やや複雑ではありませんでした。これが私が使用しようとしているクエリです。rownum/rnum 参照 (したがって外部選択) を削除すると、期待どおりにすべてのレコードを受け取るので、ロジックが適切であることがわかります。
SELECT *
FROM (
SELECT unique cl.riid_,
rownum as rnum
FROM <table 1> cl, <table 3> mil
WHERE cl.opt = 0 AND
(cl.st_ != 'QT' OR cl.st_ IS NULL) AND
cl.hh = 0 AND
cl._ID_ = mil._ID_ AND
mil.TYPE in (0, 1, 2, 3, 4) AND
EXISTS
( SELECT 'x'
FROM <table 2> sub
WHERE cl.ea_ = lower(sub.ea_) AND
sub.status = 0 AND
lower(sub.subscription) = 'partner'
) AND
rownum <= 10000
)
where rnum > 5000
したがって、このクエリを実行すると、システムからこのメッセージが表示されます (これは Oracle CLI インターフェイスではなく、その上に存在する Web レイヤーなので、通常と異なる場合はエラー メッセージを表示してください)
「エラー: 表示用に選択されたリソースは無効です。データを表示する前に、オブジェクトを再作成または修正する必要がある場合があります。
リソースはクエリの結果になります。
それで、誰かが何が起こっているのか、またはこれを行うためのより良い方法について考えを持っていますか?
ありがとう!