| Detta villkor är uppfyllt... | ...om denna SQL... | ...returnerar | ... och eventuell kommentar. |
|---|---|---|---|
| Alla värden på CIVILBTYP ska finnas i kodtabellen, kod.KODCIVILBTYP |
select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP not in
(select kc.KOD from kod.KODCIVILBTYP kc)
|
0 | |
| Alla värden i kodtabellen, kod.KODCIVILBTYP, ska finnas representerade i CIVILBTYP |
select count(*)
from kod.KODCIVILBTYP kc
where kc.KOD not in
(select c.CIVILBTYP from K136.CIVILSTAND c)
|
0 | |
| Om CIVILBTYP = 1 (Födelse) måste personen ha ett födelsedatum |
with temp as (
Select i.DDBID i_DDBID
from sv.individ i
left join sv.person p on p.ddbid = i.ddbid
where (p.foddat > 0)
and i.ddbid is not null
)
Select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP = 1
and c.ddbid not in (select t.i_ddbid from temp t)
|
0 | |
| Om CIVILBTYP = 2 (Lysning) måste personen ha ett lysningsdatum i LV |
with temp as (
Select i.DDBID i_DDBID
from sv.individ i
left join sv.lv l on l.postnr = i.postnr
left join sv.hlciv hc
on hc.postnr = i.postnr
and hc.CIVHLTYP = 1
where (hc.civhldat > 0 or l.vigdat > 0)
)
Select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP = 1
and c.ddbid not in (select t.i_ddbid from temp t)
|
0 | |
| Om CIVILBTYP = 3 (Vigsel) måste personen ha ett vigseldatum i LV eller ett vigseldatum i sv.HLCIV |
with temp as (
Select i.DDBID i_DDBID
from sv.individ i
left join sv.lv l on l.postnr = i.postnr
left join sv.hlciv hc
on hc.postnr = i.postnr
and hc.CIVHLTYP = 1
where (hc.civhldat > 0 or l.vigdat > 0)
and i.ddbid is not null
)
Select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP = 3
and c.ddbid not in (select t.i_ddbid from temp t)
|
0 | |
| Om CIVILBTYP = 4 (Skilsmässa) måste personen ha skilsmässa som upplösningsorsak i HL (UPLORS = 2 i sv.HLCIV). Alternativt måste partnern ha UPLORS = 2 i SV.HLCIV. |
with temp as (
Select i.DDBID i_DDBID
from sv.individ i
left join sv.hlciv hc on hc.postnr = i.postnr
and hc.CIVHLTYP = 2
left join sv.rel r on i.ddbid = r.ddbid1
and rtyp = 3
left join sv.individ ri on r.ddbid2 = ri.ddbid
left join sv.hlciv rhc on rhc.postnr = ri.postnr
and rhc.CIVHLTYP = 2
where (hc.UPLORS = 2 or rhc.UPLORS = 2)
and i.ddbid is not null
)
Select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP = 4
and c.ddbid not in (select t.i_ddbid from temp t)
|
0 | |
Om CIVILBTYP = 5 (Partners död) måste personen ha en partner som har dödsdatum i sv.PERSON och
|
with temp as (
Select i.DDBID i_DDBID
from sv.individ i
left join sv.REL r
on i.ddbid = r.ddbid1
and r.rtyp = 3
left join sv.PERSON pper
on pper.ddbid = i.ddbid
left join sv.PERSON ppart
on ppart.ddbid = r.ddbid2
where (ppart.doddat > 0 and
(
ppart.doddat < pper.doddat or
pper.doddat = 0 or
( ppart.doddat >= pper.doddat
and ppart.doddat/10000 = pper.doddat/10000 )
) )
and i.ddbid is not null
)
Select count(*)
from K136.CIVILSTAND c
where c.CIVILBTYP = 5
and c.ddbid not in (select t.i_ddbid from temp t)
|
0 |