SELECT L.NAZIV, L.TIPLOKACIJE
FROM LOKACIJA L LEFT OUTER JOIN POPISNALISTA PL
ON L.LOKACIJAID=PL.LOKACIJAID
LEFT OUTER JOIN STAVKAPOPISNELISTE S
ON PL.LISTAID=S.LISTAID
WHERE EXTRACT(YEAR FROM PL.DATUMPOPISA)=2004
GROUP BY L.LOKACIJAID
HAVING SUM(CASE S.POPISNAKOL WHEN 0 THEN 1 ELSE 0)=0;

SELECT DISTINCT K.PREDSEDNIKKOMISIJE
FROM POPISNAKOMISIJA K INNER JOIN POPISNALISTA PL
ON K.KOMISIJAID=PL.KOMISIJAID
INNER JOIN LOKACIJA L
ON PL.LOKACIJAID=L.LOKACIJAID
WHERE EXTRACT(YEAR FROM CURRENT_DATE-L.DATUMPOPISA) IN (0,1,2)
AND L.LOKACIJAID IN (SELECT PL1.LOKACIJAID
FROM POPISNALISTA PL1 INNER JOIN STAVKAPOPISNELISTE SPL
ON PL1.LISTAID=SPL.LISTAID
LEFT OUTER JOIN OSNOVNOSREDSTVO OS
ON SPL.INVENTARNIBROJ=OS.INVENTARNIBROJ
WHERE EXTRAXT(YEAR FROM PL1.DATUMPOPISA)=EXTRACT(YEAR FROM PL.DATUMPOPISA)
GROUP BY PL1.LOKACIJAID
HAVING SUM(OS.NABAVNAVREDNOST)>= ALL (SELECT SUM(OS1.NABAVNAVREDNOST) 
FROM OSNOVNOSREDSTVO OS1 INNER JOIN STAVKAPOPISNELISTE SPL1
ON OS1.INVENTARNIBROJ=SPL1.INVENTARNIBROJ 
INNER JOIN POPISNALISTA PL2 
ON PL2.LISTAID=SPL1.LISTAID
WHERE EXTRACT(YEAR FROM PL2.DATUMPOPISA)= EXTRACT(YEAR FROM PL1.DATUMPOPUSA)
GROUP BY  PL2.LOKACIJAID);

CREATE VIEW VREDNOSTPOPISANIHOS(SIFRALOKACIJE, NAZIVLOKACIJE, AMORTIZACIONAGRUPA,UKNABAVNAVRED,UKOTPISANAVRED,PROSSTOPAOTPISANEVRED, UKVREDPOPISANOGMANJKA)
AS SELECT L.LOKACIJAID, L.NAZIV, OS.AMORTIZACIONAGRUPA, SUM(OS.NABAVNAVREDNOST), SUM(OS.OTPISANAVREDNOST), AVG((OS.NABAVNAVREDNOST-OS.OTPISANAVREDNOST)/OS.NABAVNAVREDNOST), SUM(OS.NABAVNAVREDNOST-OS.OTPISANANVREDNOST)
FROM LOKACIJA L LEFT OUTER JOIN POPISNALISTA PL
ON L.LOKACIJAID=PL.LOKACIJAID
LEFT OUTER JOIN STAVKAPOPISNELISTE SPL
ON PL.LISTAID=SPL.LISTAID
LEFT OUTER JOIN OSNOVNOSREDSTVO OS
ON SPL.INVENTARNIBROJ=OS.INVENTARNI BROJ
WHERE SPL.POPISANAKOLICINA=0
GROUP BY L.LOKACIJAID, OS.AMORTIZACIONAGRUPA;