一个SQL,很奇怪的现象,帮忙看看
select a.items_id,b.RPS_DATE_T from (
select '777808' as items_id from dual
)a left join (
select f.ITEMS_ID ,min(f.RPS_DATE_T) as RPS_DATE_T
from DWKCFX.DW_TX_KCFX_CP_DAY_RPS_DT f
left join (
select ITEMS_ID,max(to_date(RPS_DATE_T,'yyyy-mm-dd')) as RPS_DATE_T
from DWKCFX.DW_TX_KCFX_CP_DAY_RPS_DT
where to_date(RPS_DATE_T,'yyyy-mm-dd') < to_date('2008-06-01','yyyy-mm-dd') and TODAY_PAY_INV > 0
group by ITEMS_ID
)g on f.ITEMS_ID = g.ITEMS_ID
where to_date(f.RPS_DATE_T,'yyyy-mm-dd') <= to_date('2008-06-01','yyyy-mm-dd') and f.END_INV > 0
and to_date(f.RPS_DATE_T,'yyyy-mm-dd') > nvl(g.RPS_DATE_T,to_date('1900-01-01','yyyy-mm-dd'))
and f.items_id='777808'
group by f.ITEMS_ID
)b on a.items_id = b.items_id
红色部分单独查询的结果是 '777808','2008-06-01'
而全部SQL查询的结果是 '777808','2006-12-09',正确应该是 '777808','2008-06-01'
和同事调试了很久,觉得很怪异,知道什么原因的朋友帮忙看下,谢谢。