od
od copied to clipboard
Užitečné views
Spojení v tuto chvíli praktikujících funkcionářů dle databáze PSP s databází ESM, resp. jejíma změnama. Jasně, ESM má problémy a jasně, vyhazujeme bývalé politiky (jde to snadno změnit). Výsledkem bylo pár set řádek, tak mě napadlo podívat se jen na změny v posledních měsících. Když se do where podmínky hodí něco jako sm.datum_vymaz is null, získáme kompletní seznam.
WITH organy AS (
SELECT
id_osoba,
max(jmeno) jmeno,
max(prijmeni) prijmeni,
max(narozeni) narozeni,
string_agg(DISTINCT nazev_organu_cz,
', ') soucasne_organy
FROM
psp.poslanci_osoby
INNER JOIN psp.poslanci_zarazeni zar USING (id_osoba)
INNER JOIN psp.poslanci_organy org ON org.id_organ = zar.id_of
WHERE
cl_funkce = 0
-- timhle vybiram jen aktivni funkcionare
AND do_o IS NULL
AND do_organ IS NULL
-- 13: clenstvi ve statnich skupinach, 3: vybory, 4: podvybory, 78: pracovni skupiny, 2: stale komise
AND id_typ_organu NOT in(13,
3,
4,
78,
2)
GROUP BY
id_osoba
)
SELECT
os.jmeno,
os.prijmeni,
os.soucasne_organy,
nazev.ico,
nazev.nazev,
sm.*
FROM
justice.skutecny_majitel sm
LEFT JOIN justice.nazev USING (ico)
INNER JOIN organy os ON lower(sm.osoba_jmeno) = lower(os.jmeno)
AND lower(sm.osoba_prijmeni) = lower(os.prijmeni)
AND sm.osoba_datum_narozeni = os.narozeni
WHERE
nazev.datum_vymaz IS NULL
and(sm.datum_vymaz > now() - interval '90 days'
OR sm.datum_zapis > now() - interval '90 days')
ORDER BY
datum_zapis DESC
LIMIT 1000