Report k dohledání duplicit v databázi
Napsal: 26 říj 2017 23:01
Na fóru k TNG jsem objevil na odkazu https://tng.community/index.php?/forums/topic/11708-finding-duplicated-person/ hezký report k tomuhle účelu. Po drobné úpravě vypadá SQL kód takto:
Report mne velmi překvapil, co všechno odhalil, takže jej budu čas od času využívat ke kontrole celé databáze. O čem vyprávím? Běžně totiž z Legacy importuji osoby s potlačením detailů u žijících osob, a proto tento report žijící osoby nedokáže kontrolovat.
Musím proto do jedné lokální testovací databáze si občas importovat obsah databáze bez potlačení detailů u žijících osob – právě kvůli úplné kontrole možných duplicit.
Opravy vlastních omylů sice bolí, ale jsou nedílnou součástí seriózní práce badatele amatéra.
SELECT
p.personid,
p.firstname,
p.lastname,
p.birthdate,
p.deathdate,
p.gedcom
FROM tng_people p
WHERE EXISTS
(
SELECT * FROM tng_people p2
WHERE p2.personid <> p.personid
AND p2.firstname = p.firstname
AND p2.lastname = p.lastname
AND p2.birthdatetr = p.birthdatetr
AND p2.deathdatetr = p.deathdatetr
)
AND p.lastname <> ''
ORDER BY p.firstname, p.lastname;
Report mne velmi překvapil, co všechno odhalil, takže jej budu čas od času využívat ke kontrole celé databáze. O čem vyprávím? Běžně totiž z Legacy importuji osoby s potlačením detailů u žijících osob, a proto tento report žijící osoby nedokáže kontrolovat.
Musím proto do jedné lokální testovací databáze si občas importovat obsah databáze bez potlačení detailů u žijících osob – právě kvůli úplné kontrole možných duplicit.
Opravy vlastních omylů sice bolí, ale jsou nedílnou součástí seriózní práce badatele amatéra.