Superbrugerforum på kbharkiv.dk (2016-2020)

Observeret problem ved ibrugtagning af nyt år.

Oprettet af
2019-11-26 18:06:14
Forfatter Indlæg
Skrevet af
2019-11-26 18:06:14
Hej alle
Jeg har i forbindelse med rettelser af begravelser, hvor dødsdato mangler, konstateret
at f.eks i forbindelse med tastningen af 1880, side 7 nr. 31:
Claus Hansen: dødsdato 29-12-som retteligt må være 1879, da det ligger først i protokollen, så den er tastet rigtig.

Men der er også tastet en 1879, side 7 nr. 31:
Georg Trelde: Dødsdato 29-12- som retteligt må være 1878, da den ligger først i protokollen.
Jeg kan godt se at vi kan have et stort problem her, men har ikke pt. en løsning på hvordan vi kan finde disse døde frem - men evt. en søgning på de første 50 numre i en årgang, sammenholdt med døds måned, kunne være en løsning.

Jeg har lavet en søgning på År: 1879 løbenr. 31, se herunder og læg mærke til Begravelsesprotokollernes årgang:

https://www.kbharkiv.dk/sog-i-arkivet/sog-i-indtastede-kilder#/results?q1.f=record_number&q1.op=eq&q1.t=31&q2.f=yearOfDeath&q2.op=eq&q2.t=1879&sortField=lastname&sortDirection=asc&postsPrPage=10&collections=1&type=advanced
Venlig hilsen Kim
Skrevet af
2019-11-27 08:20:35
Hej Kim. Godt du har fundet denne fejlrisiko. Sig til hvis der er brug for udtræk som den normale søgning ikke kan give.
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2019-11-27 13:47:58
Vi kunne finde de fleste ved at kikke efter dubletter, sådan som Kim har gjort med sit eksempel.
Vi fanger så ikke
1) dem hvor starten af året ikke er forrest (protokoller over flere år)
2) dem hvor "makkeren" mangler, fordi løbenummeret er fejltastet eller posten ikke skulle tastes
men det er dog et fåtal.

Her er et forslag til sql, det skal naturligvis justeres med de rigtige datanavne:

select p.årstal, p.lbnr, p.protokol, p.fornavne, p.efternavn, p.link
from søgebasen p,
(select lbnr, dødsår, count(*) as ct
from søgebasen
where lbnr < 100
group by lbnr,
dødsår) s
where ct>1 and
p.lbnr = s.lbnr and
p.dødsår = s.dødsår
order by p.dødsår,
p.lbnr
Skrevet af
2019-11-28 08:51:29
Hej i 2
jeg venter lidt med at bestille nye udtræk, jeg har stadig en del tilbage
på det udtræk jeg fik af Jeppe, for flere måneder siden :-)
Venlig hilsen Kim
Skrevet af
2019-12-02 05:23:20
Hej så Jeppe
Du må godt lave det udtræk som Bjørn har beskrevet.
Du kan bare lægge udtrækket ind i det sheet jeg har i forvejen
Venlig hilsen Kim
Skrevet af
2019-12-02 12:27:58
Hej Bjørn.
Jeg forsøger mig med din anvisning. Men den fejler for mig. Med: 'Every derived table must have its own alias'
SELECT SUBSTR(description,1,4) AS "Protokolår", YEAR(dateofdeath) as "p_year", MONTH(dateofdeath),DAY(dateofdeath),burial_burials.number,firstnames,lastname,CONCAT("https://www.kbharkiv.dk/kildetaster/#/task/1/page/",apacs_posts.pages_id,"/post/", apacs_entries.posts_id) AS "Link"
FROM kbharkiv.burial_persons p,
(SELECT number, YEAR(dateofdeath) as "s_year", COUNT(*) as "ct"
FROM kbharkiv.burial_persons
LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id)
WHERE number<100
GROUP BY number, YEAR(dateofdeath))
LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id
LEFT JOIN kbharkiv.apacs_entries ON apacs_entries.concrete_entries_id = burial_persons.id
LEFT JOIN kbharkiv.apacs_posts ON apacs_entries.posts_id=apacs_posts.id
LEFT JOIN kbharkiv.apacs_pages ON apacs_posts.pages_id = apacs_pages.id
LEFT JOIN kbharkiv.apacs_units ON apacs_pages.unit_id = apacs_units.id
LEFT JOIN kbharkiv.apacs_users ON apacs_entries.users_id = apacs_users.id
WHERE ct>1
AND p.number=s.number
AND p.p_year = s.s_year
ORDER BY p.number, p.p_year
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2019-12-02 20:58:30
Der mangler i hvert fald et s

GROUP BY number, YEAR(dateofdeath)) s
Skrevet af
2019-12-03 13:41:10
Hej Kim og Bjørn
Jeg fik ikke Bjørns SQL til at virke, men har trukket en liste over løbenumre som optræder 2 eller flere gange indenfor samme protokol. Se her: https://docs.google.com/spreadsheets/d/1JK6xs4yb8j4vV1DbbR9ttf64X1St2O-71OcBcQEXcsA/edit?usp=sharing
Prøv lige at se om det kan bruges… :)
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2019-12-03 15:35:37
1) det er også en interessant liste, du har trukket: fejl i løbenumre – men den løser ikke det oprindelige problem: at finde poster hvor dødsåret er forkert
2) jeg har kikket mere på din SQL. Først og fremmest manglede et s til at identificere den indre SQL, men der er også syntaksfejl
- der mangler en slut-dobbeltapostrof efter sts.pages_id
" www.kbharkiv.dk/kildetaster/#/task/1/pag...sts.pages_id,"/post/ ", apacs_entries.posts_id) AS "Link"
- der skal ikke være en slutparentes efter
LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id
Skrevet af
2019-12-06 13:14:55
Hej BJørn
Jeg får stadig fejl på denne her:
SELECT SUBSTR(description,1,4) AS "Protokolår", YEAR(dateofdeath) as "p_year", MONTH(dateofdeath),DAY(dateofdeath),b.number,firstnames,lastname,CONCAT("https://www.kbharkiv.dk/kildetaster/#/task/1/page/",apacs_posts.pages_id,"/post/", apacs_entries.posts_id) AS "Link"
FROM kbharkiv.burial_persons p,

(SELECT number, YEAR(dateofdeath) as "s_year", COUNT(*) as "ct"
FROM kbharkiv.burial_persons
LEFT JOIN kbharkiv.burial_burials ON burial_burials.persons_id=burial_persons.id
WHERE number<100
GROUP BY number, YEAR(dateofdeath)) s


LEFT JOIN kbharkiv.burial_burials b ON burial_burials.persons_id=burial_persons.id
LEFT JOIN kbharkiv.apacs_entries ON apacs_entries.concrete_entries_id = burial_persons.id
LEFT JOIN kbharkiv.apacs_posts ON apacs_entries.posts_id=apacs_posts.id
LEFT JOIN kbharkiv.apacs_pages ON apacs_posts.pages_id = apacs_pages.id
LEFT JOIN kbharkiv.apacs_units ON apacs_pages.unit_id = apacs_units.id
LEFT JOIN kbharkiv.apacs_users ON apacs_entries.users_id = apacs_users.id
WHERE ct>1
AND b.number=s.number
AND p.p_year = s.s_year
ORDER BY b.number, p.p_year

FEjl:
Error Code: 1054. Unknown column 'p.p_year' in 'where clause' 0.016 sec

Jeg må have en simplere må¨de måske med to trin til at kører den SQL.

Som jeg forstår det vil vi gerne se på alle løbenumre under 100, hvor dødsåret ikke er det samme som protokolåret.
Jeg har forsøgt med dette udtræk. Prøv at se om det kan bruges:
https://docs.google.com/spreadsheets/d/1JK6xs4yb8j4vV1DbbR9ttf64X1St2O-71OcBcQEXcsA/edit?usp=sharing
Mange hilsner fra
Jeppe
Digitalarkivar ved Københavns Stadsarkiv
Skrevet af
2019-12-07 06:35:10
Hej Jeppe

Jeg har kigget på dit nye udtræk, og uden at have været samtlige poster igennem, virker det som om, at de der har tastet disse poster,
har været opmærksom på at taste årstallet for året før, og ikke protokol året, altså er de tastet korrekt.

Jeg mener at vi skal have et udtræk, som går på:
Løbenumre <100
måned: december (12)
så må vi fange dem, der kan være tastet med forkert årstal, hvis tasteren ikke har været opmærksom
Venlig hilsen Kim
Skrevet af
2019-12-07 14:12:23
Tanken med den sql er at fange personer, der står med samme nr i to forskellige protokoller med samme dødsår, som i Kims oprindelige eksempel:
protokol 1880, nr. 31, Claus Hansen, 17-12-1879,
protokol 1879, nr. 31, Georg Trelde, 29-12-1879
en af dem må være forkert

Fejlen i sql er i de to sidste linier (p_year kan ikke bruges i WHERE)
AND p.p_year = s.s_year
ORDER BY b.number, p.p_year

som skal være
AND YEAR(p.dateofdeath) = s.s_year
ORDER BY b.number, YEAR(p.dateofdeath)

Og så er jeg ikke sikker på, at alle dine LEFT JOINs er nødvendige (for jeg kender ikke kolonnerne i tabellerne). men de skulle heller ikke give problemer, højst ekstra arbejde til sql. Måske nødvendige til protokolår og link. Jeg ville gerne til fremtidigt brug have en mail med et dokument med samtlige tabeller og deres kolonner