我正在尝试为一个主账户收集多个相关的数据并创建一个视图(例如逾期余额、账户余额、债务回收状态、利息持有)。这种方法会有效吗?数据库平台是 Informix、Oracle 和 Sql Server。在 Informix 上做一些统计,我只得到 1 次 auubmast 的顺序扫描。我认为子选择非常有效,因为它们会立即过滤到帐号。在我完成之前,我可能需要许多子选择。除了效率问题之外,还有其他“整洁”的方法吗?
谢谢你。
选择 auubmast.acc_num、auubmast.cls_cde、auubmast.acc_typ、
(select
sum(auubtrnh.trn_bal)
from auubtrnh, aualtrcd
where aualtrcd.trn_cde = auubtrnh.trn_cde
and auubtrnh.acc_num = auubmast.acc_num
and (auubtrnh.due_dte < current or aualtrcd.trn_typ = 'I')
) as ovd_bal,
(select
sum(auubytdb.ytd_bal)
from auubytdb, auubsvgr
where auubytdb.acc_num = auubmast.acc_num
and auubsvgr.svc_grp = auubmast.svc_grp
and auubytdb.bil_yer = auubsvgr.bil_yer
) as acc_bal,
(select
max(cur_stu)
from audemast
where mdu_acc = auubmast.acc_num
and mdu_ref = 'UB'
) as drc_stu,
(select
hol_typ
from aualhold
where mdu_acc = auubmast.acc_num
and mdu_ref = 'UB'
and pro_num = 2601
and (hol_til is null or hol_til > current)
) as int_hld
从 auubmast