select
whatever
from
bank_accs b1,
bank_accs b2,
table3 t3
where
t3.bank_acc_id = t1.bank_acc_id and
b2.bank_acc_number = b1.bank_acc_number and
b2.currency_code(+) = t3.buy_currency and
trunc(sysdate) between nvl(b2.start_date, trunc(sysdate)) and nvl(b2.end_date, trunc(sysdate));
私の問題は、b2の日付(実際)チェックにあります。ここで、b2に(日付ごとに)無効なレコードしかない場合でも、t3xb1ごとに行を返す必要があります(もちろん、t3 =最大10個のテーブルが結合されています)。このビットを適切に外部結合するにはどうすればよいですか?ANSI結合は使用できません。単一のフラットクエリで使用する必要があります。ありがとう。