Information for en samletfastejendom om - til brug for at kunne skrive brev til hovedejer (primær kontakt):
- ejere (herunder primærkontakt)
- administratorer (normalt kun en. Bemærk at der er tale om administrator for en SFE - IKKE for et ejerskab
- relation til hvilke(n) esr-ejendom sfe'en svarer til
- seneste ejerskifte (anvendes typisk til at fremsøge de ejendomme, der har fået ny ejer og dermed nyt brev
Bestiller: Hofor
Anvendelse
sql
SELECT * FROM databox.dtbx_vw_mat_ejf_bbr_ebr_ejendom_med_ejere_mv LIMIT 100;Definition
sql
SELECT sfe.bfenummer,
ec.kommuneinddelingkommunekode AS kommunekode,
( SELECT t.value
FROM jsonb_array_elements(ejere.personejere) t(value)
WHERE ((t.value ->> 'primaerkontakt'::text)::boolean) = true
LIMIT 1) AS primaerkontakt_person,
( SELECT t.value
FROM jsonb_array_elements(ejere.virksomhedsejere) t(value)
WHERE ((t.value ->> 'primaerkontakt'::text)::boolean) = true
LIMIT 1) AS primaerkontakt_virksomhed,
( SELECT t.value
FROM jsonb_array_elements(ejere.andreejere) t(value)
WHERE ((t.value ->> 'primaerkontakt'::text)::boolean) = true
LIMIT 1) AS primaerkontakt_andenejer,
( SELECT t.value
FROM jsonb_array_elements(ejere.adressebeskyttelseejere) t(value)
WHERE ((t.value ->> 'primaerkontakt'::text)::boolean) = true
LIMIT 1) AS primaerkontakt_adressebeskyttelseejer,
ejere.personejere,
ejere.virksomhedsejere,
ejere.andreejere,
ejere.adressebeskyttelseejere,
ejd_relationer.esr_ejendomme,
( SELECT max(es.overtagelsesdato) AS max
FROM ejf.ejerskifte es
WHERE es.bestemtfastejendombfenr = sfe.bfenummer) AS seneste_overtagelse,
administratorer.administrator_liste
FROM mat.dtbx_vw_samletfastejendom_aktuel sfe
JOIN ebr.dtbx_vw_ejendomsbeliggenhed_aktuel ec ON ec.bestemtfastejendombfenr::text = sfe.bfenummer::text
LEFT JOIN LATERAL ( SELECT jsonb_agg(jsonb_build_object('kommunekode', dtbx_vw_ejendomsrelation_aktuel.kommunekode, 'esr_ejendomsnummer', dtbx_vw_ejendomsrelation_aktuel.ejendomsnummer)) AS esr_ejendomme
FROM bbr.dtbx_vw_ejendomsrelation_aktuel
WHERE dtbx_vw_ejendomsrelation_aktuel.bfenummer = sfe.bfenummer) ejd_relationer ON true
LEFT JOIN LATERAL ( WITH personejere AS (
SELECT jsonb_agg(jsonb_build_object('navn', ("substring"(ep.navn_adresseringsnavn::text, '%,#"%#"%'::text, '#'::text) || ' '::text) || "substring"(ep.navn_adresseringsnavn::text, '%#"%#",%'::text, '#'::text), 'adresselinje1', ep.standardadresse, 'adresselinje2', ep.cpradresse_bynavn, 'adresselinje3', (ep.cpradresse_postnummer::text || ' '::text) || ep.cpradresse_postdistrikt::text, 'udenlandsk_adresse', NULLIF((((COALESCE(ep.udrejseindrejse_udenlandsadresse_adresselinie1, ''::character varying)::text || COALESCE(', '::text || NULLIF(ep.udrejseindrejse_udenlandsadresse_adresselinie2::text, ''::text), ''::text)) || COALESCE(', '::text || NULLIF(ep.udrejseindrejse_udenlandsadresse_adresselinie3::text, ''::text), ''::text)) || COALESCE(', '::text || NULLIF(ep.udrejseindrejse_udenlandsadresse_adresselinie4::text, ''::text), ''::text)) || COALESCE(', '::text || NULLIF(ep.udrejseindrejse_udenlandsadresse_adresselinie5::text, ''::text), ''::text), ''::text), 'adresseringsnavn', NULLIF(COALESCE(ep.adresseoplysninger_adresseringsnavn, ''::character varying)::text, ''::text), 'primaerkontakt', ejs.primaerkontakt, 'adressebeskyttelse',
CASE
WHEN ep.id IS NULL THEN true
ELSE false
END, 'faktiskejerandel_taeller', ejs.faktiskejerandel_taeller, 'faktiskejerandel_naevner', ejs.faktiskejerandel_naevner) ORDER BY ejs.primaerkontakt DESC) AS personliste
FROM ejf.dtbx_vw_ejerskab_aktuel ejs
JOIN ejf.ejendeperson ep ON ep.ejerskab_id_lokalid::text = ejs.id_lokalid
WHERE ejs.bestemtfastejendombfenr = sfe.bfenummer
), virksomhedsejere AS (
SELECT jsonb_agg(jsonb_build_object('navn', ev.navn, 'adresselinje1', (((ev.beliggenhedsadresse_cvradresse_vejnavn::text || ' '::text) || ev.beliggenhedsadresse_cvradresse_husnummerfra::text) || COALESCE((', '::text || NULLIF(ev.beliggenhedsadresse_cvradresse_etagebetegnelse::text, ''::text)) || '.'::text, ''::text)) || COALESCE((' '::text || NULLIF(ev.beliggenhedsadresse_cvradresse_doerbetegnelse::text, ''::text)) || '.'::text, ''::text), 'adresselinje2', ev.beliggenhedsadresse_cvradresse_supplerendebynavn, 'adresselinje3', (ev.beliggenhedsadresse_cvradresse_postnummer::text || ' '::text) || ev.beliggenhedsadresse_cvradresse_postdistrikt::text, 'cvrnummer', ev.cvrnummer, 'primaerkontakt', ejs.primaerkontakt, 'faktiskejerandel_taeller', ejs.faktiskejerandel_taeller, 'faktiskejerandel_naevner', ejs.faktiskejerandel_naevner) ORDER BY ejs.primaerkontakt DESC) AS virksomhedsliste
FROM ejf.dtbx_vw_ejerskab_aktuel ejs
JOIN ejf.ejendevirksomhed ev ON ev.ejerskab_id_lokalid::text = ejs.id_lokalid
WHERE ejs.bestemtfastejendombfenr = sfe.bfenummer
), andreejere AS (
SELECT jsonb_agg(jsonb_build_object('navn', pv.navn, 'adresselinje1', a2.adresselinje1, 'adresselinje2', a2.adresselinje2, 'adresselinje3', a2.adresselinje3, 'adresselinje4', a2.adresselinje4, 'adresselinje5', a2.adresselinje5, 'primaerkontakt', ejs.primaerkontakt, 'faktiskejerandel_taeller', ejs.faktiskejerandel_taeller, 'faktiskejerandel_naevner', ejs.faktiskejerandel_naevner) ORDER BY ejs.primaerkontakt DESC) AS andreejereliste
FROM ejf.dtbx_vw_ejerskab_aktuel ejs
JOIN ejf.dtbx_vw_personvirksomhedsoplys_aktuel pv ON ejs.ejeroplysningerlokalid = pv.id_lokalid
LEFT JOIN ejf.alternativadresse a2 ON pv.alternativadresselokalid = a2.id_lokalid
WHERE ejs.bestemtfastejendombfenr = sfe.bfenummer
), adressebeskyttelseejere AS (
SELECT jsonb_agg(jsonb_build_object('navn', '*** Adressebeskyttelse ***', 'primaerkontakt', ejs.primaerkontakt, 'faktiskejerandel_taeller', ejs.faktiskejerandel_taeller, 'faktiskejerandel_naevner', ejs.faktiskejerandel_naevner) ORDER BY ejs.primaerkontakt DESC) AS adr_beskytejereliste
FROM ejf.dtbx_vw_ejerskab_aktuel ejs
WHERE ejs.bestemtfastejendombfenr = sfe.bfenummer AND NOT (EXISTS ( SELECT 1
FROM ejf.ejendeperson e
WHERE e.ejerskab_id_lokalid::text = ejs.id_lokalid)) AND NOT (EXISTS ( SELECT 1
FROM ejf.ejendevirksomhed e2
WHERE e2.ejerskab_id_lokalid::text = ejs.id_lokalid)) AND NOT (EXISTS ( SELECT 1
FROM ejf.dtbx_vw_personvirksomhedsoplys_aktuel e3
WHERE e3.id_lokalid = ejs.ejeroplysningerlokalid))
)
SELECT COALESCE(personejere.personliste, '[]'::jsonb) AS personejere,
COALESCE(virksomhedsejere.virksomhedsliste, '[]'::jsonb) AS virksomhedsejere,
COALESCE(andreejere.andreejereliste, '[]'::jsonb) AS andreejere,
COALESCE(adressebeskyttelseejere.adr_beskytejereliste, '[]'::jsonb) AS adressebeskyttelseejere
FROM personejere,
virksomhedsejere,
andreejere,
adressebeskyttelseejere) ejere ON true
LEFT JOIN LATERAL ( SELECT COALESCE(jsonb_agg(DISTINCT jsonb_build_object('cvrnummer', ea.virksomhedcvrnr, 'navn', COALESCE(ev.navn, pvo.navn::character varying), 'adresselinje1', COALESCE((((ev.beliggenhedsadresse_cvradresse_vejnavn::text || ' '::text) || ev.beliggenhedsadresse_cvradresse_husnummerfra::text) || COALESCE((', '::text || NULLIF(ev.beliggenhedsadresse_cvradresse_etagebetegnelse::text, ''::text)) || '.'::text, ''::text)) || COALESCE(' '::text || NULLIF(ev.beliggenhedsadresse_cvradresse_doerbetegnelse::text, ''::text), ''::text), vac.adresselinje1), 'adresselinje2', COALESCE(ev.beliggenhedsadresse_cvradresse_supplerendebynavn, vac.adresselinje2::character varying), 'adresselinje3', COALESCE((ev.beliggenhedsadresse_cvradresse_postnummer::text || ' '::text) || ev.beliggenhedsadresse_cvradresse_postdistrikt::text, vac.adresselinje3))), '[]'::jsonb) AS administrator_liste
FROM ejf.dtbx_vw_ejendomsadministrator_aktuel ea
LEFT JOIN ejf.ejendevirksomhed ev ON ev.cvrnummer = ea.virksomhedcvrnr
LEFT JOIN ejf.dtbx_vw_personvirksomhedsoplys_aktuel pvo ON ea.personellervirksomhedlokalid = pvo.id_lokalid
LEFT JOIN ejf.dtbx_vw_alternativadresse_aktuel vac ON pvo.alternativadresselokalid = vac.id_lokalid
WHERE ea.bestemtfastejendombfenr = sfe.bfenummer) administratorer ON trueDetaljer
| Schema | databox |
| View | databox.dtbx_vw_mat_ejf_bbr_ebr_ejendom_med_ejere_mv |
| Version | 1.0.0 |
Afhængigheder
bbr.dtbx_vw_ejendomsrelation_aktuelebr.dtbx_vw_ejendomsbeliggenhed_aktuelejf.alternativadresseejf.dtbx_vw_alternativadresse_aktuelejf.dtbx_vw_ejendomsadministrator_aktuelejf.dtbx_vw_ejerskab_aktuelejf.dtbx_vw_personvirksomhedsoplys_aktuelejf.ejendepersonejf.ejendevirksomhedejf.ejerskiftemat.dtbx_vw_samletfastejendom_aktuel
Tilgængelige views
bbr16
Aktuelle bbrsager
Det antages at registreringtil ikke er i fremtiden.
Aktuelle bygninger
Det antages at registreringtil ikke er i fremtiden.
(Identer for) aktuelle bygninger med påklistret aggregerede identer til DAR
- septima_dar_husnumre -> kobles til dar.husnummer
- septima_dar_adresser -> kobles til dar.adresse
Det antages at BBRs registreringtil ikke er i fremtiden.
Kræver flg.:
- databox.dtbx_fn_array_unique
Aktuelle bygninger med påklistret aggregeret geodanmark geometri geodk.bbruuid = bbr.id_lokalid
Det antages at registreringtil ikke er i fremtiden.
kræver INDEX geodanmark_aktuel.dtbx_idx_bygning_lowercase_bbruuid for at performe
Aktuelle bygningsejendomsrelation
Det antages at registreringtil ikke er i fremtiden.
Aktuel ejendomsrelation
Det antages at registreringtil ikke er i fremtiden.
Aktuelle enheder
Det antages at registreringtil ikke er i fremtiden.
Aktuelle enhedejendomsrelation
Det antages at registreringtil ikke er i fremtiden.
Aktuelle etager
Det antages at registreringtil ikke er i fremtiden.
Aktuelle fordelingaffordelingsareal
Det antages at registreringtil ikke er i fremtiden.
Aktuelle fordelingaffordelingsareal
Det antages at registreringtil ikke er i fremtiden.
Aktuelle grund
Det antages at registreringtil ikke er i fremtiden.
Aktuelle grundjordstykke
Det antages at registreringtil ikke er i fremtiden.
Aktuelle opgang
Det antages at registreringtil ikke er i fremtiden.
Aktuelle sagsniveau
Det antages at registreringtil ikke er i fremtiden.
Aktuelle tekniske anlæg
Det antages at registreringtil ikke er i fremtiden.
dar11
Aktuelle adresser
Det antages at registrering til ikke er i fremtiden.
Aktuelle adresserpunkter
Det antages at registrering til ikke er i fremtiden.
Aktuelle husnummer
Det antages at registrering til ikke er i fremtiden.
Aktuelle KVHnumre.
Det antages at registrering ikke er i fremtiden
Aktuelle KVHXnumre.
Det antages at registrering ikke er i fremtiden
NOTE: filtering on septima_kvhx is not efficient or possible to index AFAIK so filter on septima_kvh then septima_kvhx as secondary (application level)
Aktuelle navngivenvej
Det antages at registrering til ikke er i fremtiden.
Aktuelle navngivenvej kommunedel
Det antages at registrering til ikke er i fremtiden.
Aktuelle navngivenvej postnummer
Det antages at registrering til ikke er i fremtiden.
Aktuelle navngivenvej supplerende bynavn
Det antages at registrering til ikke er i fremtiden.
Aktuelle postnummer
Det antages at registrering til ikke er i fremtiden.
Aktuelle supplerende bynavn
Det antages at registrering til ikke er i fremtiden.
geodanmark_aktuel1
mat19
Aktuelle bygningpaafremmedgrundflade
Aktuelle bygningpaafremmedgrundpunkt
Aktuelle centroide
Aktuelle ejerlav
Aktuelle ejerlejlighed
Aktuelle ejerlejlighedslod
Aktuelle jordstykke
Aktuelle jordstykketemaflade
Aktuelle lodflade
Aktuelle matrikelkommune
Aktuelle matrikelregion
Aktuelle matrikelskel
Aktuelle matrikelsogn
Aktuelle matrikulær sag
Aktuelle nullinje
Aktuelle optagetvej
Aktuelle samletfastejendom
Aktuelle skelpunkt
Aktuelle temalinje
mat219
Aktuelle ejerlav
Aktuelle bygningpaafremmedgrundflade
Aktuelle bygningpaafremmedgrundpunkt
Aktuelle centroide
Aktuelle ejerlejlighed
Aktuelle ejerlejlighedslod
Aktuelle jordstykke
Aktuelle jordstykketemaflade
Aktuelle lodflade
Aktuelle matrikelkommune
Aktuelle matrikelregion
Aktuelle matrikelskel
Aktuelle matrikelsogn
Aktuelle matrikulær sag
Aktuelle nullinje
Aktuelle optagetvej
Aktuelle samletfastejendom
Aktuelle skelpunkt
Aktuelle temalinje