取引 ID で結合された取引テーブルと cds_coupon テーブルを想像してください。決済日と決済金額も持つクーポンテーブル。必要なクエリは、次に決済するクーポンの金額と日付を取得することです。
select t.tradeId AS tradeId,
(
select settlement_date from cds_coupon e
where t.tradeId=e.tradeId
and e.settlement_date = (select min(settlement_date) from cds_coupon ei where ei.tradeId = t.tradeId and ei.settlement_date > sysdate )
) AS settlement_date,
(
select settlement_amount from cds_coupon e
where t.tradeId=e.tradeId
and e.settlement_date = (select min(settlement_date) from cds_coupon ei where ei.tradeId = t.tradeId and ei.settlement_date > sysdate )
) AS settlement_amount,
FROM Trade t
ご覧のように、2 つのレベルの同一の相関関係が、異なるフィールドを取得するために 2 回実行されます。1 回目は決済日を取得するため、もう 1 回は決済金額を取得するためです。したがって、質問 - 関連付けられたサブクエリを参照して再利用する方法は?