Oracle 11g のサブクエリに次のようなエイリアスを与える方法はありますか?
select *
from
(select client_ref_id, request from some_table where message_type = 1) abc,
(select client_ref_id, response from some_table where message_type = 2) defg
where
abc.client_ref_id = def.client_ref_id;
それ以外の場合は、client_ref_id に基づいて 2 つのサブクエリを結合する方法があります。自己結合があることに気づきましたが、自己結合で実行しているデータベースでは、完了するまでに最大5分かかる場合があります(実行している実際のクエリには追加のロジックがありますが、自己結合が何であるかを判断しました問題の原因)。個々のサブクエリは、数秒で完了するだけです。自己結合クエリは次のようになります。
select st.request, st1.request
from
some_table st, some_table st1
where
st.client_ref_id = st1.client_ref_id;