下面是示例表需要拉向後記錄在查詢日期範圍之間記錄
id date rating
-----------------------
1 15-11-2015 A
1 18-11-2015 A
1 05-12-2015 B
2 05-11-2015 A
2 21-11-2015 A
2 05-12-2015 A
3 25-11-2015 B
3 05-12-2015 B
.....
現在我的服務查詢有關評級ID 1,2,3(可能是數量也更多)日期之間2015年12月1日至2015年12月10日。如果我選擇查詢來提取此範圍內的記錄,則只有一條記錄是2015年12月5日。
所以在JAVA方面,我可以使用它來填充相同的數據,直到10-DEC爲止。但是對於後向填充,我需要拉取以前的記錄(在2015年12月1日之前拉一條記錄,在此日期之前可能有n條記錄),每個ID對於所有的Ids必然不是同一日期。有些人可以幫我查詢一下,或者如果查詢根本不可能,那麼用SP。
要求輸出如下;對於2015年1月12日之間的評級,2015年10月12日ID 1,2
1 18-11-2015 A
1 05-12-2015 B
2 21-11-2015 A
2 05-12-2015 A
,因爲沒有評級的開始日期(2015年1月12日),我需要拉先前費率爲每個ID 。
最初嘗試如下;如果對所有ID的評分日期都是相同的,這可能會奏效,但不幸的是情況並非如此。
Select *
from ratings rr
where rr.id in (1, 2)
and rr.date between (Select max(rrr.date)
from ratings rrr
where rrr.date <= to_date('01-12-2015','dd-MM-yyyy'))
and to_date('10-12-2015','dd-MM-yyyy')
您能否請張貼您需要的結果? – Aleksej
我已經更新了我的問題與所需的輸出。 – mani