memoriaal / memoriaal.ee

https://memoriaal.netlify.com
MIT License
1 stars 0 forks source link

Persoonikoodita repr. kaardid #16

Open UlleKr opened 3 years ago

UlleKr commented 3 years ago

Kuupäevad: Arreteerimiskuupäev 1940-06-01 kuni 1942-01-01 või tühi; süüdimõistmise kuupäev < 1943-01-01 deporteerimiskuupäev < 1943-01-01

mitselek commented 3 years ago

Alustame valikuga

SELECT * 
FROM import.repr_kart 
WHERE Muude_toimikute_nrd REGEXP '[0-9]'
  AND persoon IS NULL
  AND (arreteerimiskuupäev = '' OR arreteerimiskuupäev BETWEEN '1940-06' AND '1942')
  AND (süüdimõistmiskuupäev = '' OR süüdimõistmiskuupäev BETWEEN '1940' AND '1943')
  AND (deporteerimiskuupäev = '' OR deporteerimiskuupäev BETWEEN '1939' AND '1943')
ORDER BY deporteerimiskuupäev DESC
;
mitselek commented 3 years ago

https://docs.google.com/spreadsheets/d/18w8oQwQxOk_pM-oBXAoDh9-D1AMKJCMTqmg-T20uo_g/edit#gid=0

UlleKr commented 3 years ago

Muude_toimikute_nrd LIKE '%м/о%' OR Muude_toimikute_nrd LIKE '%мо%'

Kellel selline täheühend esineb toimiku nr ees või järel, siis selle toimiku numbri peaks kirjutama kujul nr+M, näiteks 1821M, leiab 1941 küüditatute repr. kaardid lihtsamini üles.

Aga arreteerimiskuupäeva piirang tuleks vist sel juhul maha võtta, siin on üks juhus, kus 1941 küüditatu arreteeriti 1945 Siberis.

mitselek commented 3 years ago

esimest reha võiks ehk teha selles päringus

SELECT k.kirjekood, k.persoon AS K_persoon, y.persoon AS Y_persoon
     , y.nr, k.kirje, y.rk_kirje
FROM tmp.yhnr y
LEFT JOIN repis.kirjed k 
  ON k.eesnimic = y.eesnimic
 AND k.perenimic = y.perenimic 
 AND k.isanimic = y.isanimic
 AND k.kirje REGEXP y.re
 AND y.nr != LEFT(k.sünd, 4)
 AND y.nr != LEFT(k.surm, 4)
WHERE y.persoon IS NULL
  AND k.persoon IS NOT NULL
GROUP BY K_persoon
ORDER BY rk_kirje

Kui tundub, et mõlemas kirje tulbas on sama isik, kopeeri persoonikood ühest lahtrist teise K_persoon -> Y_persoon.

mitselek commented 3 years ago

Esimene reha ~900 kirjet ühendatud

UPDATE tmp.yhnr y
LEFT JOIN repis.kirjed k 
  ON k.eesnimic = y.eesnimic
 AND k.perenimic = y.perenimic 
 AND k.isanimic = y.isanimic
 AND k.kirje REGEXP y.re
 AND y.nr != LEFT(k.sünd, 4)
 AND y.nr != LEFT(k.surm, 4)
SET y.persoon = k.persoon
WHERE y.persoon IS NULL
  AND k.persoon IS NOT NULL;
mitselek commented 3 years ago

242 kirjet ühendasin sünniaastat arvestades

UPDATE tmp.yhnr y
LEFT JOIN repis.kirjed k 
  ON k.eesnimic = y.eesnimic
 AND k.perenimic = y.perenimic 
 AND LEFT(k.sünd, 4) = LEFT(y.sünd, 4)
 AND k.kirje REGEXP y.re
 AND y.nr != LEFT(k.sünd, 4)
 AND y.nr != LEFT(k.surm, 4)
SET y.persoon = k.persoon
WHERE y.persoon IS NULL
  AND k.persoon IS NOT NULL
mitselek commented 3 years ago

eesnimi, isanimi ja sünniaasta ühendas veel 114 kirjet

UPDATE tmp.yhnr y
LEFT JOIN repis.kirjed k 
  ON k.kirje REGEXP y.re
 AND k.eesnimic = y.eesnimic
 AND k.isanimic = y.isanimic AND k.isanimi != ''
 AND LEFT(k.sünd, 4) = LEFT(y.sünd, 4)
 AND y.nr != LEFT(k.sünd, 4)
 AND y.nr != LEFT(k.surm, 4)
SET y.persoon = k.persoon
WHERE y.persoon IS NULL
  AND k.persoon IS NOT NULL
mitselek commented 3 years ago

314 kirjet said omale persoonikoodi juba ühendatud kirjete põhjal:

UPDATE tmp.yhnr y1
RIGHT JOIN tmp.yhnr y2 ON y1.kirjekood = y2.kirjekood
SET y1.persoon = y2.persoon
WHERE y1.persoon IS NULL 
AND y2.persoon IS NOT NULL