CREATE OR REPLACE VIEW food600.sstavpokladne
 AS
 SELECT aa.c_uzaverka,
    aa.druh_pl,
    aa.suma,
    aa.typ,
    aa.j0,
    aa.prn_no,
    row_number() OVER () AS id
   FROM ( SELECT sk__plt.c_uzaverka,
            sk__plt.druh_pl,
            sum(sk__plt.cena_pl) AS suma,
            0 AS typ,
            druhy_pl.j0,
            sk__fis.prn_no,
            druhy_pl.poradie
           FROM food600.sk__plt
             JOIN food600.sk__fin ON sk__plt.c_uzaverka = sk__fin.c_uzaverka AND sk__plt.ucet = sk__fin.ucet
             JOIN food600.sk__fis ON sk__plt.c_uzaverka = sk__fis.c_uzaverka AND sk__plt.ucet = sk__fis.ucet
             JOIN food600.druhy_pl ON sk__plt.druh_pl = druhy_pl.nazev
          WHERE sk__plt.c_uzaverka < 0 AND sk__fin.pohladavka = 0 AND druhy_pl.cisfplat <> 0::numeric AND druhy_pl.odvod::numeric <> 0::numeric
          GROUP BY sk__plt.c_uzaverka, sk__plt.druh_pl, sk__fis.prn_no, druhy_pl.j0, druhy_pl.poradie
        UNION
         SELECT sk__plt.c_uzaverka,
            sk__plt.druh_pl,
            sum(sk__plt.cena_pl) AS suma,
            1 AS typ,
            druhy_pl.j0,
            sk__fis.prn_no,
            druhy_pl.poradie
           FROM food600.sk__plt
             JOIN food600.sk__fin ON sk__plt.c_uzaverka = sk__fin.c_uzaverka AND sk__plt.ucet = sk__fin.ucet
             JOIN food600.sk__fis ON sk__plt.c_uzaverka = sk__fis.c_uzaverka AND sk__plt.ucet = sk__fis.ucet
             JOIN food600.druhy_pl ON sk__plt.druh_pl = druhy_pl.nazev
          WHERE sk__plt.c_uzaverka < 0 AND sk__fin.pohladavka = 1 AND druhy_pl.cisfplat <> 0::numeric AND druhy_pl.odvod::numeric <> 0::numeric
          GROUP BY sk__plt.c_uzaverka, sk__plt.druh_pl, sk__fis.prn_no, druhy_pl.j0, druhy_pl.poradie
        UNION
         SELECT sk__vklvy.c_uzaverka,
            sk__vklvy.nazev AS druh_pl,
            sum(sk__vklvy.ciastka) AS suma,
            2 AS typ,
            druhy_pl.j0,
            sk__fis.prn_no,
            druhy_pl.poradie
           FROM food600.sk__vklvy
             JOIN food600.druhy_pl ON sk__vklvy.nazev = druhy_pl.nazev
             JOIN food600.sk__fis ON sk__vklvy.c_uzaverka = sk__fis.c_uzaverka AND sk__vklvy.ucet = sk__fis.ucet
          WHERE sk__vklvy.c_uzaverka < 0 AND druhy_pl.odvod::numeric <> 0::numeric
          GROUP BY sk__vklvy.c_uzaverka, sk__vklvy.nazev, sk__fis.prn_no, druhy_pl.j0, druhy_pl.poradie) aa
  ORDER BY aa.c_uzaverka, aa.poradie;
