VIGIND i äktenskapstabellen

Detta villkor är uppfyllt... ...om denna SQL... ...returnerar ett antal som ej överstiger gränsvärdet Antal Gränsvärde ... ev. kommentar.
Personer som har VIGIND = 1 (Pseudovigsel. Vigseldatum skapat utifrån första gemensamma indatum på HL-sida tillsammans med partner som gifta) ska inte ha information om vigsel i HL eller LV.

Ett gemensamt vigseldatum i AKTENSKAP ska inte finnas i HLCIV där CIVHLTYP är vigsel (1).
Ett gemensamt vigseldatum i AKTENSKAP ska inte heller finnas i LV (VIGDAT).
with temp as (
	select distinct a.*,
	l.vigdat as lvvigdat,l2.vigdat as Plvvigdat,
	hc.civhldat as civhldat,hc2.civhldat as Pcivhldat,
	n.kbsidid,n.rad,n.nrrad,n2.kbsidid as Pkbsidid,n2.rad as Prad,n2.nrrad as Pnrrad,
	h.nobdat,h.nosdat,h2.nobdat as Pnobdat,h2.nosdat as Pnosdat,
	i.civ,i2.civ as Pciv
	from k136.AKTENSKAP a
	left join sv.individ i on i.ddbid = a.ddbid
	left join sv.individ i2 on i2.ddbid = a.pddbid
	join sv.notering n on n.postnr = i.postnr and n.overblivenind=0
	join sv.notering n2 on n2.postnr = i2.postnr and n2.overblivenind=0
	left join sv.hl h on h.postnr = i.postnr
	left join sv.hl h2 on h2.postnr = i2.postnr
	left join sv.lv l on l.postnr = i.postnr
	left join sv.lv l2 on l2.postnr = i2.postnr
	left join sv.hlciv hc on hc.postnr = i.postnr
	left join sv.hlciv hc2 on hc2.postnr = i2.postnr
	where vigind = 1
	and a.ddbid > a.pddbid
    and (
           (a.vigdat = hc.civhldat and hc.civhltyp = 1 and hc.civhldat between h.nobdat and h.nosdat and
            a.vigdat = hc2.civhldat and hc2.civhltyp = 1 and hc2.civhldat between h2.nobdat and h2.nosdat and
            n.kbsidid=n2.kbsidid)
          or
           (a.vigdat = l.vigdat and
            a.vigdat = l2.vigdat)
        )
)
select count(*) from temp
          
OK 11 20 Denna kontroll kan ge fel om det finns fellänkade personer.
Personer som har VIGIND = 0 (Vigseldatum från källa) ska ha information om vigsel i HL eller LV.

Finns vigseldatumet i AKTENSKAP också i HLCIV där CIVHLTYP är vigsel (1) eller i LV (VIGDAT).
with temp as (
select ddbid, vigdat
from k136.AKTENSKAP a
where vigind = 0
except
select ddbid, civhldat
from sv.individ i
join sv.hlciv hc on i.postnr = hc.postnr
where civhltyp = 1 and ddbid > 0
except
select ddbid,
case when VIGDAT between 17530217 and 17530231
      then 17530200
	  else VIGDAT
end as VIGDAT
from sv.individ i
join sv.lv l on i.postnr = l.postnr
where ddbid > 0
)
select count(*)
from temp
          
OK 0 0 Frågan kompenserar för att en person har ett vigseldatum i slutet på februari 1753. På grund av förändring av kalendern detta år anses detta datum vara ologiskt och sätts i programmet till 17530200.