GLE-Postgis-Interne-Flurstückslisten
Die Views werden in ein LK-eigenes Schema "alkis_eigen" gespeichert. Bei Bedarf ändern!
Inhaltsverzeichnis
View Buchung mit Eigentum
Der View verknüpft Flurstück, Buchungsstelle und Buchungsblatt und sammelt alle relevanten Informationen für die Buchung. Auf die Anzeige grundstücksgleicher Rechte (Gebäudeeigentum, Erbbaurecht) wird verzichtet.
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_buchung_mit_eigentum AS
SELECT foo.flurstueck_gml_id,
foo.buchungsblatt_gml_id,
regexp_replace(((foo.buchung || COALESCE(foo.anteil || '
'::text, ''::text)) || COALESCE(foo.nraufteilungsplan || '
'::text, ''::text)) || COALESCE(foo.buchungstext || '
'::text, ''::text), '(^[\n\r]+)|([\n\r]+$)'::text, ''::text, 'g'::text) AS buchung
FROM ( SELECT f.gml_id AS flurstueck_gml_id,
g.gml_id AS buchungsblatt_gml_id,
((((((((art.beschreibung::text || ': '::text) || b.bezeichnung::text) || ' '::text) || g.land::text) || g.bezirk::text) || '-'::text) || ltrim(g.buchungsblattnummermitbuchstabenerweiterung::text, '0'::text)) || ', Laufende Nummer '::text) || ltrim(s.laufendenummer::text, '0'::text) AS buchung,
CASE
WHEN s.zaehler <> 0::double precision THEN (
CASE
WHEN s.zaehler = s.nenner THEN '(Anteil nicht ermittelbar)'::text
ELSE (
CASE
WHEN mod(s.zaehler::numeric, ceil(s.zaehler::numeric)) = 0::numeric THEN to_char(s.zaehler::integer, 'FM999G999G999'::text)
ELSE replace(s.zaehler::text, '.'::text, ','::text)
END || '/'::text) ||
CASE
WHEN mod(s.nenner::numeric, ceil(s.nenner::numeric)) = 0::numeric THEN to_char(s.nenner::numeric, 'FM999G999G999G999'::text)
ELSE replace(s.nenner::text, '.'::text, ','::text)
END
END || ' Miteigentumsanteil am Grundstück'::text) || COALESCE(' verbunden mit dem Sondereigentum an '::text || s.beschreibungdessondereigentums::text, ''::text)
ELSE ''::text
END AS anteil,
('Nr. '::text || s.nummerimaufteilungsplan::text) || ' laut Aufteilungsplan'::text AS nraufteilungsplan,
'Buchungstext: '::text || s.buchungstext::text AS buchungstext
FROM alkis.ax_buchungsblatt g
LEFT JOIN alkis.ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
LEFT JOIN alkis.ax_buchungsstelle s ON s.istbestandteilvon = g.gml_id
--LEFT JOIN alkis.ax_flurstueck f ON f.istgebucht = s.gml_id OR (f.gml_id = ANY (s.verweistauf)) OR (f.istgebucht = ANY (s.an)) -- fragt auch grundstücksgleiche Rechte ab (Gebäudeeigentum, Erbbaurecht)
LEFT JOIN alkis.ax_flurstueck f ON f.istgebucht = s.gml_id OR (f.gml_id = ANY (s.verweistauf)) -- grundstücksgleiche Rechte werden ignoriert
LEFT JOIN alkis.ax_buchungsart_buchungsstelle art ON s.buchungsart = art.wert
WHERE g.blattart = 1000 AND f.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL
ORDER BY g.bezirk::integer, g.buchungsblattnummermitbuchstabenerweiterung::integer, s.laufendenummer::integer) foo;
View Buchung ohne Eigentum
Der View verknüpft Flurstück, Buchungsstelle und Buchungsblatt und sammelt alle relevanten Informationen für die Buchung, wobei eigentumsrelevante Inhalte weggelassen werden.
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_buchung_ohne_eigentum AS
SELECT f.gml_id AS flurstueck_gml_id,
g.gml_id AS buchungsblatt_gml_id,
((((((((art.beschreibung::text || ': '::text) || b.bezeichnung::text) || ' '::text) || g.land::text) || g.bezirk::text) || '-'::text) || ltrim(g.buchungsblattnummermitbuchstabenerweiterung::text, '0'::text)) || '
Laufende Nummer '::text) || ltrim(s.laufendenummer::text, '0'::text) AS buchung
FROM alkis.ax_buchungsblatt g
LEFT JOIN alkis.ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
LEFT JOIN alkis.ax_buchungsstelle s ON s.istbestandteilvon = g.gml_id
LEFT JOIN alkis.ax_flurstueck f ON f.istgebucht = s.gml_id OR (f.gml_id = ANY (s.verweistauf)) OR (f.istgebucht = ANY (s.an))
LEFT JOIN alkis.ax_buchungsart_buchungsstelle art ON s.buchungsart = art.wert
WHERE g.blattart = 1000 AND f.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL
ORDER BY g.bezirk::integer, g.buchungsblattnummermitbuchstabenerweiterung::integer, s.laufendenummer::integer;
View Eigentümer mit Anschrift
Der View verknüpft Buchungsblatt, Namensnummer, Person und Anschrift und sammelt alle relevanten Informationen für das Eigentum. Ab der dritten belegten Stelle in der laufenden Namensnummer wird für jede belegte Stelle eine weitere Einrückung berechnet. Laufende Namensnummern können in der APK irrtümlich falsch geschrieben werden, z.B. "2,1". Die Abfrage versucht das abzufangen. Der View berücksichtigt eine maximal 9-stellige Tiefe der laufenden Namensnummer.
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_eigentuemer_anschrift AS
SELECT foo2.buchungsblatt_gml_id,
foo2.lfd ||
CASE
WHEN foo2.eigentuemer IS NULL THEN ''::text
ELSE '
'::text || foo2.eigentuemer
END AS eigentuemer
FROM ( SELECT foo.buchungsblatt_gml_id,
(foo.whitespace || foo.lfd) || COALESCE((' zu '::text || foo.anteil) ||
CASE
WHEN foo.beschrieb IS NULL THEN ''::text
ELSE ':'::text
END, ''::text) AS lfd,
((((((((foo.whitespace || COALESCE(foo.akademischergrad::text || ' '::text, ''::text)) || COALESCE(foo.vorname::text || ' '::text, ''::text)) || foo.nachnameoderfirma::text) || COALESCE(foo.namensbestandteil, ''::text)) || COALESCE(', '::text || foo.geburtsdaten, ''::text)) ||
CASE
WHEN foo.strasse IS NULL THEN ''::text
ELSE '
'::text
END) || foo.whitespace) || COALESCE(foo.strasse::text || COALESCE(' '::text || foo.hausnummer::text, ''::text), ''::text)) || COALESCE(((((', '::text || foo.postleitzahlpostzustellung::text) || ' '::text) || foo.ort_post::text) || COALESCE(foo.ortsteil, ''::text)) || COALESCE(', '::text || foo.bestimmungsland::text, ''::text), ''::text) AS eigentuemer
FROM ( SELECT DISTINCT g.gml_id AS buchungsblatt_gml_id,
COALESCE(n.laufendenummernachdin1421, '0'::character varying) AS order1,
COALESCE(n.bestehtausrechtsverhaeltnissenzu, '0'::bpchar) AS order2,
CASE
WHEN COALESCE(NULLIF(n.beschriebderrechtsgemeinschaft::text, ''::text), n.artderrechtsgemeinschaft::text) IS NULL OR n.bestehtausrechtsverhaeltnissenzu IS NULL THEN ''::text
ELSE ' '::text
END || repeat(' '::text, (
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 3),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 4),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 5),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 6),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 7),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 8),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END +
CASE COALESCE(split_part(replace(n.laufendenummernachdin1421::text, ','::text, '.'::text), '.'::text, 9),'')
WHEN '00'::text THEN 0
WHEN ''::text THEN 0
ELSE 1
END) * 4) AS whitespace,
COALESCE(NULLIF(n.beschriebderrechtsgemeinschaft::text, ''::text), na.beschreibung::text) AS beschrieb,
COALESCE(COALESCE(NULLIF(n.beschriebderrechtsgemeinschaft::text, ''::text), na.beschreibung::text),
CASE
WHEN n.beschriebderrechtsgemeinschaft IS NULL AND n.artderrechtsgemeinschaft IS NULL THEN rtrim((((((((COALESCE(ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 1), '0'::text), ''::text) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 2), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 3), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 4), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 5), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 6), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 7), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 8), '0'::text), ''::text)) || COALESCE('.'::text || ltrim(split_part(n.laufendenummernachdin1421::text, '.'::text, 9), '0'::text), ''::text), '.'::text)
ELSE NULL::text
END) AS lfd,
p.akademischergrad,
p.vorname,
p.nachnameoderfirma,
COALESCE(', '::text || p.namensbestandteil::text, ''::text) AS namensbestandteil,
a.strasse,
a.hausnummer,
a.postleitzahlpostzustellung,
a.ort_post,
COALESCE(', OT '::text || a.ortsteil::text, ''::text) AS ortsteil,
a.bestimmungsland,
COALESCE(('geb. '::text || p.geburtsname::text) || ' '::text, ''::text) || to_char(p.geburtsdatum::timestamp with time zone, 'DD.MM.YYYY'::text) AS geburtsdaten,
((
CASE
WHEN mod(n.zaehler::numeric, ceil(n.zaehler::numeric)) = 0::numeric THEN to_char(n.zaehler::integer, 'FM999G999G999'::text)
ELSE replace(n.zaehler::text, '.'::text, ','::text)
END || '/'::text) ||
CASE
WHEN mod(n.nenner::numeric, ceil(n.nenner::numeric)) = 0::numeric THEN to_char(n.nenner::numeric, 'FM999G999G999G999'::text)
ELSE replace(n.nenner::text, '.'::text, ','::text)
END) || ' Anteil'::text AS anteil
FROM alkis.ax_buchungsblatt g
LEFT JOIN alkis.ax_namensnummer n ON g.gml_id = n.istbestandteilvon
LEFT JOIN alkis.ax_artderrechtsgemeinschaft_namensnummer na ON n.artderrechtsgemeinschaft = na.wert
LEFT JOIN alkis.ax_person p ON n.benennt = p.gml_id
LEFT JOIN alkis.ax_anschrift a ON a.gml_id = p.hat[1]
WHERE g.blattart = 1000 AND g.endet IS NULL AND n.endet IS NULL AND p.endet IS NULL AND a.endet IS NULL
ORDER BY COALESCE(n.laufendenummernachdin1421, '0'::character varying), COALESCE(n.bestehtausrechtsverhaeltnissenzu, '0'::bpchar)) foo) foo2;
View Flurstück
Der View verknüpft Flurstück, Gemeinde und Gemarkung und sammelt alle relevanten Informationen für das Flurstück.
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_flurstueck AS
SELECT f.oid,
f.gml_id AS flurstueck_gml_id,
f.flurstueckskennzeichen,
CASE
WHEN f.abweichenderrechtszustand::text = 'true'::text THEN 'Abweichender Rechtszustand:
Durch ein Verfahren der Bodenordnung ist ein neuer Rechtszustand eingetreten, das amtliche Verzeichnis der ausführenden Stelle ist maßgebend. Dieser Nachweis entspricht nicht dem aktuellen Stand!'::text
ELSE ''::text
END AS abweichenderrechtszustand,
CASE
WHEN f.rechtsbehelfsverfahren::text = 'true'::text THEN 'Rechtsbehelfsverfahren:
Ein Rechtsbehelfsverfahren ist anhängig!'::text
ELSE ''::text
END AS rechtsbehelfsverfahren,
CASE
WHEN f.amtlicheflaeche < 1::double precision THEN round(f.amtlicheflaeche::numeric, 2)::text
ELSE ltrim(to_char(f.amtlicheflaeche, 'FM999G999G999'::text))
END || ' m²'::text AS amtlicheflaeche,
gm.schluesselgesamt AS gemeinde_schluessel,
gm.bezeichnung AS gemeinde_name,
gk.schluesselgesamt AS gemarkung_schluessel,
gk.bezeichnung AS gemarkung_name,
f.flurnummer,
f.zaehler::text || COALESCE('/'::text || f.nenner::text, ::text) AS flurstuecksnummer,
f.wkb_geometry
FROM alkis.ax_flurstueck f,
alkis.ax_gemeinde gm,
alkis.ax_gemarkung gk
WHERE f.endet IS NULL AND gm.endet IS NULL AND gk.endet IS NULL AND f.gemeindezugehoerigkeit_gemeinde::text = gm.gemeinde::text AND f.gemarkungsnummer::text = gk.gemarkungsnummer::text;
View Grundbuchbezirk
Der View verknüpft Flurstück, Buchungsstelle und Buchungsblatt und sammelt alle relevanten Informationen für den Grundbuchbezirk.
CREATE OR REPLACE VIEW alkis_eigen.fstauszug_grundbuchbezirk AS
SELECT DISTINCT f.gml_id AS flurstueck_gml_id,
b.gehoertzu_land::text || b.gehoertzu_stelle::text AS schluessel_amtsgericht,
d.bezeichnung AS name_amtsgericht,
g.land::text || g.bezirk::text AS schluessel_gbbezirk,
b.bezeichnung AS name_gbbezirk
FROM alkis.ax_flurstueck f,
alkis.ax_buchungsstelle s,
alkis.ax_buchungsblatt g
LEFT JOIN alkis.ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text
LEFT JOIN alkis.ax_dienststelle d ON b.gehoertzu_land::text = d.land::text AND b.gehoertzu_stelle::text = d.stelle::text
WHERE f.endet IS NULL AND s.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND d.endet IS NULL AND (f.istgebucht = s.gml_id OR ARRAY[f.gml_id] <@ s.verweistauf) AND s.istbestandteilvon = g.gml_id;
View Lage
Der View verknüpft Flurstück und Lagebezeichnung und sammelt alle relevanten Informationen für die Flurstücks-Lagebezeichnung.
ACHTUNG: Der View ermittelt eine Postleitzahl für das Flurstück durch Verschneidung mit einer eigenen Tabelle "geodaten_landkreis.plz". Schema und Tabellenname müssen angepasst werden. Wenn eine solche Tabelle nicht existiert, muss das aus dem View entfernt werden!
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_lage AS
SELECT foo.flurstueck_gml_id,
regexp_replace((COALESCE(foo.lage_adresse_verschl, ''::text) ||
CASE
WHEN foo.lage_adresse_unverschl IS NULL THEN ''::text
ELSE '
'::text
END) || COALESCE(foo.lage_adresse_unverschl, ''::character varying)::text, '(^[\n\r]+)|([\n\r]+$)'::text, ''::text, 'g'::text) AS lage
FROM ( SELECT f.gml_id AS flurstueck_gml_id,
(( SELECT
CASE
WHEN lm.gml_id <> ''::bpchar THEN COALESCE(plz.plz || ' '::text, ''::text) ||
CASE
WHEN g.bezeichnung::text = 'Stralsund, Hansestadt'::text THEN 'Stralsund'::character varying
WHEN "position"(g.bezeichnung::text, ', Stadt'::text) > 0 THEN "substring"(g.bezeichnung::text, 0, "position"(g.bezeichnung::text, ', Stadt'::text))::character varying
ELSE g.bezeichnung
END::text
ELSE ''::text
END AS "case"
FROM alkis.ax_flurstueck fl
LEFT JOIN geodaten_landkreis.plz ON st_intersects(st_centroid(f.wkb_geometry), plz.the_geom),
alkis.ax_gemeinde g,
alkis.ax_lagebezeichnungmithausnummer lm
WHERE fl.gemeindezugehoerigkeit_gemeinde::text = g.gemeinde::text AND g.endet IS NULL AND (lm.gml_id = ANY (fl.weistauf)) AND fl.gml_id = f.gml_id
LIMIT 1)) || COALESCE(array_to_string(ARRAY( SELECT (('
'::text || km.bezeichnung::text) || ' '::text) || lm.hausnummer::text
FROM alkis.ax_lagebezeichnungmithausnummer lm,
alkis.ax_lagebezeichnungkatalogeintrag km
WHERE lm.endet IS NULL AND km.endet IS NULL AND (lm.gml_id = ANY (f.weistauf)) AND lm.gemeinde::text = km.gemeinde::text AND lm.lage::text = km.lage::text
ORDER BY km.bezeichnung, lm.hausnummer), '; '::text), ''::text) AS lage_adresse_verschl,
COALESCE(
CASE
WHEN lo.lage IS NULL THEN NULL::character varying
ELSE ( SELECT ko.bezeichnung
FROM alkis.ax_lagebezeichnungkatalogeintrag ko
WHERE lo.gemeinde::text = ko.gemeinde::text AND lo.lage::text = ko.lage::text AND ko.endet IS NULL)
END, lo.unverschluesselt) AS lage_adresse_unverschl
FROM alkis.ax_flurstueck f
LEFT JOIN alkis.ax_lagebezeichnungohnehausnummer lo ON lo.gml_id = ANY (f.zeigtauf)
WHERE f.endet IS NULL AND lo.endet IS NULL) foo;
View Nutzung
Der View verknüpft Flurstück und Nutzung und sammelt alle relevanten Informationen für die Nutzung. Der Nutzungsartenbereich wird nicht abgefragt. Der View verwendet einen eigenen View "alkis_eigen.zustand_nutzungsart", siehe unten.
Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_nutzung AS
SELECT f.gml_id AS flurstueck_gml_id,
(((nag.bereich::text || ' ('::text) || ((nas.nutzungsartengruppe::text || nas.nutzungsart::text) || nas.untergliederung1::text)) || nas.untergliederung2::text) || ')'::text AS nutzung,
to_char(round((st_area(st_intersection(n.wkb_geometry, f.wkb_geometry))::numeric::double precision * f.amtlicheflaeche / st_area(f.wkb_geometry))::numeric,
CASE
WHEN f.amtlicheflaeche > 1::double precision THEN 0
ELSE 2
END), 'FM999G999G999'::text) || ' m²'::text AS na_flaeche,
(((((((nag.gruppe::text ||
CASE
WHEN na.nutzungsart IS NOT NULL OR nu1.untergliederung1 IS NOT NULL OR nu2.untergliederung2 IS NOT NULL THEN ': '::text
ELSE ''::text
END) || COALESCE(na.nutzungsart::text ||
CASE
WHEN nu1.untergliederung1 IS NOT NULL OR nu2.untergliederung2 IS NOT NULL THEN ', '::text
ELSE ''::text
END, ''::text)) || COALESCE(nu1.untergliederung1::text ||
CASE
WHEN nu2.untergliederung2 IS NOT NULL THEN ', '::text
ELSE ''::text
END, ''::text)) || COALESCE(nu2.untergliederung2, ''::character varying)::text) ||
CASE
WHEN n.name IS NOT NULL OR nz.beschreibung IS NOT NULL OR n.bezeichnung IS NOT NULL THEN '
('::text
ELSE ''::text
END) || (COALESCE(n.name::text ||
CASE
WHEN nz.beschreibung IS NOT NULL THEN '; '::text
ELSE ''::text
END, ''::text) || COALESCE(nz.beschreibung::text ||
CASE
WHEN n.bezeichnung IS NOT NULL THEN '; '::text
ELSE ''::text
END, ''::text))) || COALESCE(n.bezeichnung, ''::character varying)::text) ||
CASE
WHEN n.name IS NOT NULL OR nz.beschreibung IS NOT NULL OR n.bezeichnung IS NOT NULL THEN ')'::text
ELSE ''::text
END AS bezeichnung
FROM alkis.ax_flurstueck f,
alkis.n_nutzung n
LEFT JOIN alkis.n_nutzungsartenschluessel nas ON n.nutzungsartengruppe = nas.nutzungsartengruppe AND n.werteart1 = nas.werteart1 AND n.werteart2 = nas.werteart2
LEFT JOIN alkis.n_nutzungsartengruppe nag ON nas.nutzungsartengruppe = nag.schluessel
LEFT JOIN alkis.n_nutzungsart na ON nas.nutzungsartengruppe = na.nutzungsartengruppe AND nas.nutzungsart = na.schluessel
LEFT JOIN alkis.n_untergliederung1 nu1 ON nas.nutzungsartengruppe = nu1.nutzungsartengruppe AND nas.nutzungsart = nu1.nutzungsart AND nas.untergliederung1 = nu1.schluessel
LEFT JOIN alkis.n_untergliederung2 nu2 ON nas.nutzungsartengruppe = nu2.nutzungsartengruppe AND nas.nutzungsart = nu2.nutzungsart AND nas.untergliederung1 = nu2.untergliederung1 AND nas.untergliederung2 = nu2.schluessel
LEFT JOIN alkis_eigen.zustand_nutzungsart nz ON nz.na_bereich = nas.nutzungsartengruppe AND nz.wert = n.zustand
WHERE f.endet IS NULL AND n.endet IS NULL AND st_intersects(n.wkb_geometry, f.wkb_geometry) = true AND st_area(st_intersection(n.wkb_geometry, f.wkb_geometry)) > 0.001::double precision
ORDER BY nas.nutzungsartengruppe;
View Zustand Nutzung
Dieser View fasst die möglichen ALKIS-Zustandbeschreibungen für die Nutzungsartenbereiche zusammen.
CREATE OR REPLACE VIEW alkis_eigen.zustand_nutzungsart AS SELECT 11 AS na_bereich, ax_zustand_wohnbauflaeche.wert, ax_zustand_wohnbauflaeche.beschreibung FROM alkis.ax_zustand_wohnbauflaeche UNION SELECT 12 AS na_bereich, ax_zustand_industrieundgewerbeflaeche.wert, ax_zustand_industrieundgewerbeflaeche.beschreibung FROM alkis.ax_zustand_industrieundgewerbeflaeche UNION SELECT 13 AS na_bereich, ax_zustand_halde.wert, ax_zustand_halde.beschreibung FROM alkis.ax_zustand_halde UNION SELECT 14 AS na_bereich, ax_zustand_bergbaubetrieb.wert, ax_zustand_bergbaubetrieb.beschreibung FROM alkis.ax_zustand_bergbaubetrieb UNION SELECT 15 AS na_bereich, ax_zustand_tagebaugrubesteinbruch.wert, ax_zustand_tagebaugrubesteinbruch.beschreibung FROM alkis.ax_zustand_tagebaugrubesteinbruch UNION SELECT 16 AS na_bereich, ax_zustand_flaechegemischternutzung.wert, ax_zustand_flaechegemischternutzung.beschreibung FROM alkis.ax_zustand_flaechegemischternutzung UNION SELECT 17 AS na_bereich, ax_zustand_flaechebesondererfunktionalerpraegung.wert, ax_zustand_flaechebesondererfunktionalerpraegung.beschreibung FROM alkis.ax_zustand_flaechebesondererfunktionalerpraegung UNION SELECT 18 AS na_bereich, ax_zustand_sportfreizeitunderholungsflaeche.wert, ax_zustand_sportfreizeitunderholungsflaeche.beschreibung FROM alkis.ax_zustand_sportfreizeitunderholungsflaeche UNION SELECT 19 AS na_bereich, ax_zustand_friedhof.wert, ax_zustand_friedhof.beschreibung FROM alkis.ax_zustand_friedhof UNION SELECT 21 AS na_bereich, ax_zustand_strasse.wert, ax_zustand_strasse.beschreibung FROM alkis.ax_zustand_strasse UNION SELECT 22 AS na_bereich, ax_zustand_strasse.wert, ax_zustand_strasse.beschreibung FROM alkis.ax_zustand_strasse UNION SELECT 23 AS na_bereich, ax_zustand_strasse.wert, ax_zustand_strasse.beschreibung FROM alkis.ax_zustand_strasse UNION SELECT 24 AS na_bereich, ax_zustand_bahnverkehr.wert, ax_zustand_bahnverkehr.beschreibung FROM alkis.ax_zustand_bahnverkehr UNION SELECT 25 AS na_bereich, ax_zustand_flugverkehr.wert, ax_zustand_flugverkehr.beschreibung FROM alkis.ax_zustand_flugverkehr UNION SELECT 26 AS na_bereich, ax_zustand_schiffsverkehr.wert, ax_zustand_schiffsverkehr.beschreibung FROM alkis.ax_zustand_schiffsverkehr;