Problemet är att Oracle inte känner till det get_fiscal_year_start_date (SYSDATE)
returnerar ett enda resultat. Så det antas att det kommer att generera många rader.
Uppenbarligen har jag ingen testsele till hands, men den här versionen av din fråga borde förvisa den sammanslagna kartesiska sammanfogningen.
SELECT RTRIM (position) AS "POSITION",
. // Other fields
.
.
FROM schema.table x
, ( select get_fiscal_year_start_date (SYSDATE) as fiscal_year
from dual ) fy
WHERE hours > 0
AND pay = 'RGW'
AND NOT EXISTS( SELECT position
FROM schema.table2 y
where y.date = fy.fiscal_year
AND y.position = x.position )
Oracle vet att DUAL har en enda rad, och därför kommer underfrågan att returnera ett värde.