Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- 11. Menny zoznam platitelov, ktori si svoje povinnosti nesplnili v termine (20% odvodov bud nezaplatili vobec alebo nezaplatili do konca nasledujuceho mesiaca)
  2. SELECT  pl.id_platitela,
  3.         COALESCE((SELECT z.nazov
  4.                     FROM p_zamestnavatel z
  5.                     WHERE z.ico = pl.id_platitela),
  6.                 (SELECT o.meno || ' ' || o.priezvisko AS meno
  7.                     FROM p_osoba o
  8.                     WHERE o.rod_cislo = pl.id_platitela) ) AS meno_platitela
  9.     FROM  p_platitel pl
  10.     join p_poistenie po ON(po.id_platitela = pl.id_platitela)
  11.     WHERE LOWER(po.oslobodeny) = 'n'
  12.         AND (po.id_poistenca  IN ( --len tie id_poistenca kde sa omeskali s platbami alebo vobec nezaplatili
  13.                                 SELECT op.id_poistenca
  14.                                     FROM p_odvod_platba op
  15.                                     WHERE op.dat_platby IS NULL
  16.                                             OR op.dat_platby > LAST_DAY(ADD_MONTHS(op.obdobie, 1))
  17.                                 )
  18.             OR  po.id_poistenca  IN( -- len tie id_poistenca kde nieje zaplatene 20% z celkovej sumy
  19.                                     SELECT op.id_poistenca
  20.                                         FROM p_odvod_platba op
  21.                                         GROUP BY  op.id_poistenca
  22.                                             HAVING SUM(op.suma) /  SUM((CASE WHEN op.dat_platby IS NULL THEN 0 ELSE 1 END) * op.suma) < 0.8
  23.                                 )
  24.             )
  25.     ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement