Podpisuję śie pod postami kolegów - strasznie opisujesz problem. Ale o ile dobrze rozumiem to chodzi o cos w ten deseń (na podstawie Twojego kodu):
SELECT
DATA AS DATA_SPRAWOZDAWCZA
,(Extract(year from(to_date(data, 'YY/MM/DD')))||'-'||(TRUNC(((Extract(month from(to_date(data, 'YY/MM/DD')))-1)/3),0)+1)) AS DATA_KWARTALNA
,CASE WHEN (SELECT MAX(DATA) FROM ANKIETA_FIZ) < Data THEN 0 ELSE 1 END AS CZY_OBOWIĄZUJE
,FUNDIDENTIFICATION
,L_UCZ_OGOLEM
,L_UCZ_FIZYCZNE
,L_UCZ_PRAWNE_OGOLEM
,L_CI_JONOSPR
FROM ANKIETA_FIZ
UNION ALL
SELECT
TO_CHAR(TO_DATE(OKRES_DO,'YY/MM/DD'), 'YYYY-MM-DD') AS DATA_SPRAWOZDAWCZA
,CAST((ROK||'-'||KWARTAL) AS VARCHAR2(11)) AS DATA_KWARTALNA
,CASE WHEN (SELECT MAX(TO_DATE(OKRES_DO,'YY/MM/DD')) FROM FIQ_UCZESTNICY_INFO) < TO_DATE(OKRES_DO,'YY/MM/DD') THEN 0 ELSE 1 END AS CZY_OBOWIĄZUJE
,CAST(PODMIOTY.ID_KRAJ AS VARCHAR2(11)) AS FUNDIDENTIFICATION
--,CAST(FIQ_UCZESTNICY_INFO.ID_PODMIOTU AS VARCHAR2(11)) AS ID_BO_ESPI
,CAST(LACZNA_LICZBA_REJESTR AS NUMBER) AS L_UCZ_OGOLEM
,CAST(REJESTR_OSOB_FIZYCZ AS NUMBER) AS L_UCZ_FIZYCZNE
,CAST(REJESTR_OSOB_PRAW AS NUMBER) AS L_UCZ_PRAWNE_OGOLEM
FROM FIQ_UCZESTNICY_INFO
INNER JOIN PODMIOTY ON FIQ_UCZESTNICY_INFO.ID_PODMIOTU = PODMIOTY.ID_PODMIOTU
Konwersje sobie dopracuj chodzi o zasadę jak można to zrobić (zakładając ze zrozumiałem)