-1
我正在嘗試爲主賬戶收集多個相關數據並創建一個視圖(例如逾期餘額,賬戶餘額,債務恢復狀態,利息持有)。這種方法是否有效?數據庫平臺是Informix,Oracle和Sql Server。在Informix上做一些統計我只是對auubmast進行了1次連續掃描。我假設子選擇的效率很高,因爲它們會立即過濾到帳號。在完成之前,我可能需要很多子選擇。除了效率問題之外,還有其他「整潔」方法嗎?使用多個子查詢的效率
謝謝。
選擇 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
感謝您的回答克萊頓。不知道爲什麼這被拒絕表示沒有研究 - 我研究並運行了各種不同風格的解釋。我也試圖找到其他類似的問題。有人建議這些類型的subquries像連接一樣並且無論如何都被索引 - 是否正確? – user2147475
此外 - 逾期餘額實際上是'實時'的東西,所以在這種情況下觸發器將無濟於事。逾期確實需要來自交易餘額超過其到期日。我可以使用左外連接來獲取這種信息,但其中一些方法可能還需要工會來構建必要的值。 – user2147475