SELECT O.OBRID, O.DATUMISPLATE, FL.IME, FL.PREZIME, O.NETO_IZNOS
FROM OBRACUN O INNER JOIN FIZICKO_LICE FL
ON O.FLID=FL.FLID
INNER JOIN TIP_ISPLATE T
ON T.TIPID=O.TIPID
WHERE T.NAZIV='ZARADE' AND FL.STATUS='ZAPOSLEN' AND FL.IME LIKE 'C%'
ORDER BY FL.PREZIME, FL.IME;

SELECT FL.JMBG, FL.PREZIME, FL.IME, SUM(OBAV.IZNOS_OBV) AS UK_DAVANJA, SUM(O.NETO_IZNOS) + SUM(CASE OBAV.ULAZI_U_BRUTO WHEN 1 THEN OBAV.IZNOS_OBV ELSE 0 END) AS UK_BRUTO,COUNT(DISTINCT O.DATUMISPLATE)
FROM FIZICKO_LICE FL LEFT OUTER JOIN OBRACUN O
ON FL.FLID=O.FLID
LEFT OUTER JOIN  OBRACUN_OBAVEZA OBAV ON
OBAV.OBRID=O.OBRID
GROUP BY FL.FLID
HAVING UK_BRUTO>500000;

CREATE VIEW PORESKA_PRIJAVA(TIP, JMBG, PREZIME, IME, NETO, OSNOVICA, POREZ, PIO, ZDRAVSTVO, NEZAPOSLENOST)
AS SELECT 
CASE FL.STATUS WHEN 'ZAPOSLEN' OR 'PENZIONER' THEN 'RADNIK' ELSE 'TRECA LICA' END AS TIP,
FL.JMBG, FL.PREZIME, FL.IME, SUM(O.NETO_IZNOS), 
SUM(CASE TIPOBAV.NAZIV_OBAVEZE WHEN 'POREZ' THEN OBAV.OSNOVICA_OBV ELSE 0 END),
SUM(CASE TIPOBAV.NAZIV_OBAVEZE WHEN 'POREZ' THEN OBAV.IZNOS_OBV ELSE 0 END),
SUM(CASE TIPOBAV.NAZIV_OBAVEZE WHEN 'PIO' THEN OBAV.IZNOS_OBV ELSE 0 END),
SUM(CASE TIPOBAV.NAZIV_OBAVEZE WHEN 'ZDRAVSTVO' THEN OBAV.IZNOS_OBV ELSE 0 END),
SUM(CASE TIPOBAV.NAZIV_OBAVEZE WHEN 'NEZAPOSLENOST' THEN OBAV.IZNOS_OBV ELSE 0 END)
FROM FIZICKO_LICE FL LEFT OUTER JOIN OBRACUN O
ON FL.FLID=O.FLID
LEFT OUTER JOIN OBRACUN_OBAVEZA OBAV
ON O.OBRID = OBAV.OBRID
LEFT OUTER JOIN TIP_OBAVEZE TIPOBAV
ON OBAV.OBVID=TIPOBAV.OBVID
WHERE EXTRACT(YEAR FROM O.DATUMISPLATE)='2003'
GROUP BY FL.FLID;