SQL 開発者 3.2.2 を使用して、Oracle 12 データベースにクエリを実行しています。特定の行がクエリによって選択されることを期待している選択クエリがあります。このクエリの結果は、さらに処理するためにグローバル一時テーブルに移動されます。しかし、キーを使用して上記の行に対して新しく作成された一時テーブルをクエリすると、クエリは行を見つけられません。
私は当初、クエリに問題があり、そもそも行を取得しておらず、クエリをデバッグしていると思っていました。しかし、SQL 開発者でクエリを個別に実行し、キー列にフィルターを適用して行を検索すると、行が表示されます。しかし、キー列を並べ替えて手動でグリッド内の行を探すと、行が表示されません。この特定の行が一時テーブルにコピーされないのと同じ理由だと思います。これは、データベース内のかなりの数の行で発生しています。以前にこの問題を経験した人はいますか?
クエリは単純なもので、UserID と LocationID の 2 つの列しかありません。クエリは、複数のサブクエリでユニオンを実行します。
select distinct * from (
SELECT distinct UserID, LocationID
FROM TRANSACTION
WHERE "Deleted" = 0 and "TransactionType" in ('E1513','E1514')
AND "Date" <= '31-DEC-2016'
UNION
SELECT distinct UserID, LocationID
FROM FORMHIS
WHERE "FormID" in ('358465','358455')
AND "Date" <= '31-DEC-2016'
)
上記のクエリの出力には、結果にあるはずのいくつかの行が欠落しています。