Не возвращает пустые строки в Oracle 11.2.0.1.
Мой запрос
select
a."EMP_NO", a."DEPT_WING", a."TAKEN_PLACE_ID", a."TAKEN_PLACE_CODE",
a."REQ_PLACE_ID", a."REQ_PLACE_CODE", a."TIFFEN_DATE", a."TIFFIN_REQ_DATE",
a."TDATE", a."TIFFIN_MONTH", a."TIFFEN_TYPE", a."TIFFIN_ID",
--(select EMPLOYEE_COST from TIFFEN_MASTER where TIFFIN_ID=a.TIFFIN_ID) as t,
UPPER(NVL(APP,SWP))AS TIFFIN_SLOT
from
(select
nvl(v1.emp_no,v2.emp_no) emp_no, NVL(V1.DEPTWING,V2.DEPTWING)DEPT_WING,
V1.PLACE_ID TAKEN_PLACE_ID, V1.PLACE_CODE TAKEN_PLACE_CODE,
V2.PLACE_ID REQ_PLACE_ID, V2.PLACE_CODE REQ_PLACE_CODE, v1.tiffen_date,
v2.tiffin_req_date, nvl(v1.tiffen_date,v2.tiffin_req_date) TDate,
to_number(to_char(tiffin_req_date,'yyyymm'))tiffin_month,
(case
when trunc(tiffen_date) = trunc(tiffin_req_date) and V1.TIFFIN_SLOT=V2.TIFFIN_SLOT then 1
when (((trunc(tiffin_REQ_DATE) <= trunc(sysdate-1)) or (trunc(tiffen_date) <= trunc(sysdate-1))) and (tiffin_id=8) and V1.TIFFIN_SLOT <> V2.TIFFIN_SLOT) then 2
when (((trunc(tiffin_REQ_DATE) <= trunc(sysdate-1)) or (trunc(tiffen_date) <= trunc(sysdate-1))) and (tiffin_id is not null)and V1.TIFFIN_SLOT=V2.TIFFIN_SLOT) then 1
when (((trunc(tiffin_REQ_DATE) <= trunc(sysdate-1)) or (trunc(tiffen_date) <= trunc(sysdate-1))) and (tiffin_id=7) or V1.TIFFIN_SLOT <> V2.TIFFIN_SLOT) then 1
when ((trunc(tiffin_REQ_DATE) <= trunc(sysdate-1)) or (trunc(tiffen_date) <= trunc(sysdate-1)) and V1.TIFFIN_SLOT <> V2.TIFFIN_SLOT) then 2
else 0
end ) Tiffen_type, tiffin_id, V2.TIFFIN_SLOT APP, V1.TIFFIN_SLOT AS SWP
from
(select
emp_no, trunc(tiffin_req_date) tiffin_req_date,
NVL(L.PLACE_ID,1) PLACE_ID, PLACE_CODE, E.DEPTWING, TIFFIN_SLOT
from
Tiffin_Applied L, LUNCH_PLACES P, V_EMP_DETAILS E
WHERE
EMP_NO=ID_NO AND
P.place_id = NVL(L.PLACE_ID,1)
ORDER BY 2) v2
FULL OUTER JOIN (select emp_no,trunc(tiffen_date) tiffen_date,1 PLACE_ID,PLACE_CODE,E.DEPTWING,l.tiffin_id,TIFFIN_SLOT from Tiffen L,LUNCH_PLACES P,V_EMP_DETAILS E WHERE EMP_NO=ID_NO and (actinact=1 or actinact is null) AND P.PLACE_ID = NVL(1,1)) v1 ON
v2.EMP_NO=v1.EMP_NO AND
v2.TIFFIN_SLOT=v1.TIFFIN_SLOT AND
v2.TIFFIN_REQ_DATE=v1.TIFFEN_DATE
order by nvl(tiffen_date,tiffin_req_date)) a
WHERE
EMP_NO ='17RD021';
Если мы раскомментируем 4-йСтрока в запросе, затем 5-я строка, не входящая в Query, приводит к oracle 10.2.0.1. Почему? Пожалуйста, помогите мне. Но в оракуле 10.2.0.3 и даже в 4-й строке мы получим 4-ю строку в результате.