od icon indicating copy to clipboard operation
od copied to clipboard

Užitečné views

Open kokes opened this issue 3 years ago • 0 comments

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

kokes avatar May 11 '22 07:05 kokes