Reporty Nejstarší otec/matka

Tipy a návody pro tvorbu vlastních sestav a výstupů z TNG.
Uživatelský avatar
michal
Příspěvky: 732
Registrován: 06 čer 2013 21:37
Bydliště: Hostinné
Kontaktovat uživatele:

Reporty Nejstarší otec/matka

Příspěvekod michal » 09 pro 2017 09:43

Přispěji též svojí troškou do mlejna. Včera podařilo zprovoznit dva reporty jako reakci na diskuzní příspěvek na jednom genealogickém fóru na téma, jak má kdo starou matku ve svých záznamech. Výsledkem reportů je přehled otců/matek řazený sestupně podle věku, kdy se jim narodilo dítě. V přehledu je uvedeno jméno otce/matky, jeho datum a místo narození, věk otce/matky při narození dítěte, jméno dítěte a jeho datum a místo narození.

Nejstarší otec:

SELECT
CONCAT('<a href = \"getperson.php?personID=', parent.personID, '&tree=', parent.gedcom, '\" target=\"_blank\" class=\"fam\">', CONCAT(parent.lastname, ' ', parent.firstname), '</a>') as _otec
, parent.birthdate
, parent.birthplace
, YEAR(p.birthdatetr)-YEAR(parent.birthdatetr) AS _vek_rodice
, CONCAT('<a href = \"getperson.php?personID=', p.personID, '&tree=', p.gedcom, '\" target=\"_blank\" class=\"fam\">', CONCAT(p.lastname, ' ', p.firstname), '</a>') as _dite
, p.birthdate AS _datum_narozeni_ditete
, p.birthplace
FROM tng_children AS ch
LEFT JOIN tng_people AS p ON (ch.personID=p.personID AND ch.gedcom=p.gedcom AND p.living=0)
LEFT JOIN tng_families AS f ON (ch.familyID=f.familyID AND ch.gedcom=f.gedcom)
LEFT JOIN tng_people AS parent ON (parent.personID=f.husband AND parent.gedcom=f.gedcom AND parent.living=0)
WHERE p.birthdatetr<>"0000-00-00" AND parent.birthdatetr<>"0000-00-00"
ORDER BY _vek_rodice DESC;


Nejstarší matka:

SELECT
CONCAT('<a href = \"getperson.php?personID=', parent.personID, '&tree=', parent.gedcom, '\" target=\"_blank\" class=\"fam\">', CONCAT(parent.lastname, ' ', parent.firstname), '</a>') as _matka
, parent.birthdate
, parent.birthplace
, YEAR(p.birthdatetr)-YEAR(parent.birthdatetr) AS _vek_rodice
, CONCAT('<a href = \"getperson.php?personID=', p.personID, '&tree=', p.gedcom, '\" target=\"_blank\" class=\"fam\">', CONCAT(p.lastname, ' ', p.firstname), '</a>') as _dite
, p.birthdate AS _datum_narozeni_ditete
, p.birthplace
FROM tng_children AS ch
LEFT JOIN tng_people AS p ON (ch.personID=p.personID AND ch.gedcom=p.gedcom AND p.living=0)
LEFT JOIN tng_families AS f ON (ch.familyID=f.familyID AND ch.gedcom=f.gedcom)
LEFT JOIN tng_people AS parent ON (parent.personID=f.wife AND parent.gedcom=f.gedcom AND parent.living=0)
WHERE p.birthdatetr<>"0000-00-00" AND parent.birthdatetr<>"0000-00-00"
ORDER BY _vek_rodice DESC;


Poznámky:
- oba reporty se liší pouze názvem sloupce "husband" nebo "wife"
- v příkazu je použito několik českých aliasů pro názvy sloupců (_otec, _matka, _vek_rodice, _dite, _datum_narozeni_ditete), viz příspěvek http://legacyczech.com/forum/viewtopic.php?f=41&t=566

Tyto reporty lze s úspěchem využít i pro nalezení nesrovnalostí v zaznamenaných datech narození, zvláště pak, pokud používáme odhadovaná data. Na opačném konci přehledu se totiž nachází nejmladší otec/matka, a pokud je věk při narození jejich dítěte jednociferný případně něco málo nad 10, nebude v datech asi všechno v pořádku... :)

Zpět na “Reporty”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů