CIVIL i civilståndstabellen

Detta villkor är uppfyllt... ...om denna SQL... ...returnerar ... och eventuell kommentar.
Alla värden på CIVIL ska finnas i sv.INDIVID
select count(*)
from K136.CIVILSTAND c
where c.CIVIL not in (select i.CIV from sv.INDIVID i)
            
0
Alla värden på CIVIL ska finnas i kodtabellen, kod.KODCIVIL
select count(*)
from K136.CIVILSTAND c
where c.CIVIL not in (select kc.KOD from kod.KODCIVIL kc)
            
0
Alla värden i kodtabellen, kod.KODCIVIL, ska finnas representerade i CIVIL
select count(*)
from K136.CIVILSTAND c
where c.CIVIL not in (select kc.KOD from kod.KODCIVIL kc)
            
0
Personerna ska endast kunna ha logiska övergångar mellan olika civilstånd.
En person kan inte gå från tillstånden GIFT(3) eller SKILD(4) till OGIFT(1). Inte heller ÄNKA/ÄNKLING/SKILD(6) bör kunna föregå OGIFT(1).

Däremot finns det fall där en person har registrerats som ÄNKA/ÄNKLING(5) och sedan får tillståndet OGIFT(1). Det är personer som varit lysta när partnern dör. De har i vissa fall noterats som änkor/änklingar.
Select count(*)
from K136.CIVILSTAND a
left join K136.CIVILSTAND b on 
    a.ddbid = b.ddbid and a.civilnr < b.civilnr
where a.civil in (3,4,6) and b.civil = 1
            
0