我有一個非常大的數據表,有10億行數據。如果我嘗試將該表加入自己進行比較,則估計計劃的成本無法運行(成本:226831405289150)。有沒有一種方法可以實現與下面的查詢相同的結果,而無需連接,也許是一個分區?ORACLE SQL - 無加入日期比較日期
我需要做的是確保在收到Wildcare之前或之後24小時內沒有發生其他事件。
非常感謝您的幫助!
select e2.SYSTEM_NO,
min(e2.DT) as dt
from SYSTEM_EVENT e2
inner join table1.event el2
on el2.event_id = e2.event_id
left join (Select se.DT
from SYSTEM_EVENT se
where
--fails
( se.event_id in ('101','102','103','104')
--restores
or se.event_id in ('106','107','108','109')
)
) e3
on e3.dt-e2.dt between .0001 and 1
or e3.dt-e2.dt between -1 and .0001
where el2.descr like '%WILDCARE%'
and e3.dt is null
and e2.REC_STS_CD = 'A'
group by e2.SYSTEM_NO
樣本數據和期望的結果將有所幫助。 –