我想在没有内连接关键字的情况下使用此查询
select
MAIN_ACCOUNTS.MAIN_ID, sum(voucher.AMOUNT_US) "Total Amount"
from
MAIN_ACCOUNTS
inner join
SUB_ACCOUNTS on MAIN_ACCOUNTS.MAIN_ID = SUB_ACCOUNTS.MAIN_ID
inner join
Voucher on SUB_ACCOUNTS.SUB_ID = Voucher.credit_ACCOUNT_ID
group by
MAIN_ACCOUNTS.MAIN_ID ;
答案 0 :(得分:3)
那将是
select ma.main_id, sum(v.amount_us)
from main_accounts ma, sub_accounts sa, voucher v
where sa.main_id = ma.main_id
and v.credit_account_id = sa.sub_id
group by ma.main_id;
信不信由你,但是ANSI连接会导致某些(较旧的)Oracle软件产品出现问题,例如Reports Developer 10g(9.0.4) - 而不是它不起作用,Reports崩溃了。所以 - 有时候你注定要使用它。
另一方面,是的 - 较旧的人可能需要一些时间来适应“新”语法(对,新;从确切时间开始可用吗?1990年代?) 。
我看到了两个主要优点:
所以,在我看来,你(OP)应该尽可能使用ANSI连接。