Skip to content

← Viewbibliotek

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 true

Detaljer ​

Schemadatabox
Viewdatabox.dtbx_vw_mat_ejf_bbr_ebr_ejendom_med_ejere_mv
Version1.0.0

Afhængigheder ​

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