SELECT baprscr.LOAN_ACCOUNTS,
baprscr.BRANCH_NO,
baprsbr.RISK_SORT_NO AS RISK_SORT_NO
FROM B_AI_PR_RISK_SORT_CURR_RESULT baprscr,
B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprscr.LOAN_ACCOUNTS = baprsbr.LOAN_ACCOUNTS
AND baprscr.BRANCH_NO = baprsbr.BRANCH_NO
AND baprscr.BEGIN_DATE = to_date('20071231','yyyymmdd')
AND baprsbr.SORT_END_DATE = (SELECT MAX(baprsbr.SORT_END_DATE)
FROM B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprsbr.LOAN_ACCOUNTS = baprscr.LOAN_ACCOUNTS
and baprsbr.BRANCH_NO = baprscr.BRANCH_NO)
baprscr.BRANCH_NO,
baprsbr.RISK_SORT_NO AS RISK_SORT_NO
FROM B_AI_PR_RISK_SORT_CURR_RESULT baprscr,
B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprscr.LOAN_ACCOUNTS = baprsbr.LOAN_ACCOUNTS
AND baprscr.BRANCH_NO = baprsbr.BRANCH_NO
AND baprscr.BEGIN_DATE = to_date('20071231','yyyymmdd')
AND baprsbr.SORT_END_DATE = (SELECT MAX(baprsbr.SORT_END_DATE)
FROM B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprsbr.LOAN_ACCOUNTS = baprscr.LOAN_ACCOUNTS
and baprsbr.BRANCH_NO = baprscr.BRANCH_NO)
FROM B_AI_PR_RISK_SORT_CURR_RESULT baprscr,
B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
这两张表哪张表数据少,就放在最后WHERE baprscr.LOAN_ACCOUNTS = baprsbr.LOAN_ACCOUNTS
AND baprscr.BRANCH_NO = baprsbr.BRANCH_NO
AND baprscr.BEGIN_DATE = to_date('20071231','yyyymmdd')
AND baprsbr.SORT_END_DATE = (SELECT MAX(baprsbr.SORT_END_DATE)
FROM B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprsbr.LOAN_ACCOUNTS = baprscr.LOAN_ACCOUNTS
and baprsbr.BRANCH_NO = baprscr.BRANCH_NO)几个WHERE条件里,出来结果最少的放在最后,比如
baprscr.LOAN_ACCOUNTS = baprsbr.LOAN_ACCOUNTS
AND baprscr.BRANCH_NO = baprsbr.BRANCH_NO
AND baprscr.BEGIN_DATE = to_date('20071231','yyyymmdd')
这几个条件应该会比 AND baprsbr.SORT_END_DATE = (SELECT MAX(baprsbr.SORT_END_DATE)
FROM B_AI_PR_RISK_SORT_BASIC_RESULT baprsbr
WHERE baprsbr.LOAN_ACCOUNTS = baprscr.LOAN_ACCOUNTS
and baprsbr.BRANCH_NO = baprscr.BRANCH_NO)出来的结果集少,就应该换一下