od icon indicating copy to clipboard operation
od copied to clipboard

view/sql cvičení/adresář: detekovat změny příjmení

Open kokes opened this issue 3 years ago • 0 comments

Občas je potřeba detekovat, že se někomu změnilo jména, zpravidla po sňatku (ale i jinak, např. Le Veneur).

Úplně nejzákladnější dotaz funguje. Jde tu o logiku, že v rámci daného subjektu je málo pravděpodobná kolize data narození a křestního jména. Pokud se ale liší příjmení, může jít o změnu v čase (často jde ale o různé propisy příjmení, zejm. u těch zahraničních).

SELECT
	ico, lower(jmeno) jmeno, string_agg(distinct lower(prijmeni), ', '), max(datum_zapis) posledni_zapis
FROM
	justice.angazovane_osoby
where jmeno is not null and prijmeni is not null and datum_narozeni is not null
group by ico, lower(jmeno), datum_narozeni
having count(distinct lower(prijmeni)) > 1
order by 4 desc
LIMIT 100

Ale asi by to místo string_agg chtělo udělat array agregaci, pak unnestovat, znova agregovat (abychom člověka se změnou jména u pěti subjektů měli na jednom řádku, ne pěti a víc).

kokes avatar Jul 06 '22 14:07 kokes