source: trunk/import/sichten_ORACLE.sql @ 274

Revision 274, 19.5 KB checked in by astrid.emde, 11 years ago (diff)

GL_ID ersetzt durch GML_ID

Sichten für ORACEL angepasst, Sichten mit Geometrieoperationen müsen noch angepasst werden - siehe ToDo?

Array-Felder: Scrheibweise angepasst

Line 
1-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
2---
3---
4
5CREATE OR REPLACE VIEW S_FLURSTUECK_NR
6AS
7 SELECT f.OGR_FID,
8        p.ORA_GEOMETRY,
9        f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
10   FROM ap_pto             p
11   JOIN alkis_beziehungen  v  ON p.GML_ID       = v.beziehung_von
12   JOIN ax_flurstueck      f  ON v.beziehung_zu = f.GML_ID
13  WHERE v.beziehungsart = 'dientZurDarstellungVon'
14    AND p.endet IS NULL
15    AND f.endet IS NULL
16  ;
17COMMENT ON VIEW S_FLURSTUECK_NR IS 'fuer Kartendarstellung: Bruchnummerierung FlurstÃŒck';
18
19-- ToDo: UNION ueber ORA_GEOMETRY  noch fehlerhaft, derzeit auskommentiert
20CREATE OR REPLACE VIEW S_FLURSTUECK_NR2
21AS
22  SELECT f.OGR_FID,
23         --p.ORA_GEOMETRY AS wkb_geometry,
24         f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
25    FROM ap_pto             p
26    JOIN alkis_beziehungen  v  ON p.GML_ID       = v.beziehung_von
27    JOIN ax_flurstueck      f  ON v.beziehung_zu = f.GML_ID
28   WHERE v.beziehungsart = 'dientZurDarstellungVon'
29     AND p.endet IS NULL
30     AND f.endet IS NULL
31 UNION
32  SELECT f.OGR_FID,
33         --SDO_GEOM.SDO_CENTROID(f.ORA_GEOMETRY,2) AS wkb_geometry,
34         f.zaehler || COALESCE ('/' || f.nenner, '') AS FSNUM
35    FROM      ax_flurstueck     f
36    LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.GML_ID
37   WHERE v.beziehungsart is NULL
38     AND f.endet IS NULL
39  ;
40COMMENT ON VIEW S_FLURSTUECK_NR2 IS 'Bruchnummerierung FlurstÃŒck, auch Standard-Position. Nicht direkt fuer WMS verwenden';
41
42CREATE OR REPLACE VIEW S_HAUSNUMMER_GEBAEUDE
43AS
44 SELECT p.OGR_FID,
45        p.ORA_GEOMETRY,
46        p.DREHWINKEL * 57.296 AS DREHWINKEL,
47        l.hausnummer
48   FROM ap_pto p
49   JOIN alkis_beziehungen v
50     ON p.GML_ID = v.beziehung_von
51   JOIN AX_LAGEBEZEICHNUNGMITHAUSNUMME l
52     ON v.beziehung_zu  = l.GML_ID
53  WHERE v.beziehungsart = 'dientZurDarstellungVon'
54    AND p.endet IS NULL
55    AND l.endet IS NULL;
56COMMENT ON VIEW S_HAUSNUMMER_GEBAEUDE IS 'fuer Kartendarstellung: Hausnummern HauptgebÀude';
57
58CREATE OR REPLACE VIEW S_NUMMER_NEBENGEBAEUDE
59AS
60 SELECT p.OGR_FID,
61        p.ORA_GEOMETRY,
62        p.DREHWINKEL * 57.296 AS DREHWINKEL,
63        l.laufendenummer
64   FROM ap_pto p
65   JOIN alkis_beziehungen v
66     ON p.GML_ID = v.beziehung_von
67   JOIN AX_LAGEBEZEICHNUNGMITPSEUDONUM l
68     ON v.beziehung_zu  = l.GML_ID
69  WHERE v.beziehungsart = 'dientZurDarstellungVon'
70    AND p.endet IS NULL
71    AND l.endet IS NULL
72;
73COMMENT ON VIEW S_NUMMER_NEBENGEBAEUDE IS 'fuer Kartendarstellung: Hausnummern NebengebÀude';
74
75CREATE OR REPLACE VIEW S_ZUGEHOERIGKEITSHAKEN_FLURSTU
76AS
77 SELECT p.OGR_FID,
78        p.ORA_GEOMETRY,
79        p.DREHWINKEL * 57.296 AS DREHWINKEL,
80        f.flurstueckskennzeichen
81   FROM ap_ppo p
82   JOIN alkis_beziehungen v
83     ON p.GML_ID = v.beziehung_von
84   JOIN ax_flurstueck f
85     ON v.beziehung_zu = f.GML_ID
86  WHERE p.art = 'Haken'
87    AND v.beziehungsart = 'dientZurDarstellungVon'
88    AND f.endet IS NULL
89    AND p.endet IS NULL;
90COMMENT ON VIEW S_ZUGEHOERIGKEITSHAKEN_FLURSTU IS 'fuer Kartendarstellung';
91
92CREATE OR REPLACE VIEW S_ZUORDUNGSPFEIL_FLURSTUECK
93AS
94 SELECT l.OGR_FID,
95        l.ORA_GEOMETRY
96   FROM ap_lpo l
97   JOIN alkis_beziehungen v
98     ON l.GML_ID = v.beziehung_von
99   JOIN ax_flurstueck f
100     ON v.beziehung_zu = f.GML_ID
101  WHERE l.art = 'Pfeil'
102    AND v.beziehungsart = 'dientZurDarstellungVon'
103    -- AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
104    AND instr(l.advstandardmodell,'DKKM1000') > 0
105    AND f.endet IS NULL
106    AND l.endet IS NULL;
107COMMENT ON VIEW S_ZUORDUNGSPFEIL_FLURSTUECK IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer';
108
109-- ToDo Berechnung Pfeilspitze
110CREATE OR REPLACE VIEW S_ZUORDUNGSPFEILSPITZE_FLURSTU
111AS
112 SELECT l.OGR_FID--,
113        --(((st_azimuth(st_pointn(l.ORA_GEOMETRY, 1),
114        --st_pointn(l.ORA_GEOMETRY, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS WINKEL,
115        --st_startpoint(l.ORA_GEOMETRY) AS wkb_geometry
116   FROM ap_lpo l
117   JOIN alkis_beziehungen v
118     ON l.GML_ID = v.beziehung_von
119   JOIN ax_flurstueck f
120     ON v.beziehung_zu = f.GML_ID
121  WHERE l.art = 'Pfeil'
122    AND v.beziehungsart = 'dientZurDarstellungVon'
123    -- AND ('DKKM1000' ~~ ANY (l.advstandardmodell))
124    AND instr(l.advstandardmodell,'DKKM1000') > 0
125    AND f.endet IS NULL
126    AND l.endet IS NULL;
127COMMENT ON VIEW S_ZUORDUNGSPFEILSPITZE_FLURSTU IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer, Spitze';
128
129CREATE OR REPLACE VIEW S_BESCHRIFTUNG
130AS
131  SELECT p.OGR_FID,
132         p.schriftinhalt,
133         p.art,
134         p.DREHWINKEL * 57.296 AS WINKEL,
135         p.ORA_GEOMETRY
136    FROM ap_pto p
137   WHERE not p.schriftinhalt IS NULL
138     AND p.endet IS NULL
139     AND p.art NOT IN ('HNR', 'PNR');
140COMMENT ON VIEW S_BESCHRIFTUNG IS 'ap_pto, die noch nicht in anderen Layern angezeigt werden';
141
142CREATE OR REPLACE VIEW S_ZUORDUNGSPFEIL_GEBAEUDE
143AS
144 SELECT l.OGR_FID,
145        l.ORA_GEOMETRY
146   FROM ap_lpo l
147   JOIN alkis_beziehungen v
148     ON l.GML_ID = v.beziehung_von
149   JOIN ax_gebaeude g
150     ON v.beziehung_zu = g.GML_ID
151  WHERE l.art = 'Pfeil'
152    AND v.beziehungsart = 'dientZurDarstellungVon'
153    AND g.endet IS NULL
154    AND l.endet IS NULL;
155COMMENT ON VIEW S_ZUORDUNGSPFEIL_GEBAEUDE IS 'fuer Kartendarstellung: Zuordnungspfeil fÌr GebÀude-Nummer';
156
157CREATE OR REPLACE VIEW SK2004_ZUORDNUNGSPFEIL
158AS
159 SELECT ap.OGR_FID, ap.ORA_GEOMETRY
160 FROM ap_lpo ap
161 WHERE ((ap.signaturnummer = '2004')
162   -- AND ('DKKM1000' ~~ ANY ((ap.advstandardmodell)[])));
163   AND (instr(ap.advstandardmodell,'DKKM1000') > 0));
164COMMENT ON VIEW SK2004_ZUORDNUNGSPFEIL IS 'fuer Kartendarstellung: Zuordnungspfeil FlurstÃŒcksnummer"';
165
166
167-- ToDo Berechnung SK2004_ZUORDNUNGSPFEIL_SPITZE
168CREATE OR REPLACE VIEW SK2004_ZUORDNUNGSPFEIL_SPITZE
169AS
170 SELECT ap.OGR_FID--, (((st_azimuth(st_pointn(ap.ORA_GEOMETRY, 1),
171        --st_pointn(ap.ORA_GEOMETRY, 2)) * (- (180)::double precision)) / pi()) + (90)::double precision) AS WINKEL,
172        --st_startpoint(ap.ORA_GEOMETRY) AS wkb_geometry
173 FROM ap_lpo ap
174 WHERE ((ap.signaturnummer = '2004')
175   --AND ('DKKM1000' ~~ ANY ((ap.advstandardmodell)[])));
176   AND (instr(ap.advstandardmodell,'DKKM1000') > 0));
177
178
179CREATE OR REPLACE VIEW SK2012_FLURGRENZE
180AS
181 SELECT fg.OGR_FID, fg.ORA_GEOMETRY
182   FROM ax_besondereflurstuecksgrenze fg
183  WHERE (
184    --3000 = ANY (fg.artderflurstuecksgrenze))
185    (instr(fg.artderflurstuecksgrenze,'3000') > 0)
186    --AND fg.advstandardmodell ~~ 'DLKM';
187    AND (instr(fg.advstandardmodell,'DLKM') > 0));
188COMMENT ON VIEW SK2012_FLURGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Flurgrenze"';
189
190CREATE OR REPLACE VIEW SK2014_GEMARKUNGSGRENZE
191AS
192 SELECT gemag.OGR_FID, gemag.ORA_GEOMETRY
193   FROM ax_besondereflurstuecksgrenze gemag
194  WHERE (
195    --7003 = ANY (gemag.artderflurstuecksgrenze))
196    (instr(gemag.artderflurstuecksgrenze,'7003') > 0)
197    --AND gemag.advstandardmodell ~~ 'DLKM';
198    AND (instr(gemag.advstandardmodell,'DLKM') > 0));
199COMMENT ON VIEW SK2014_GEMARKUNGSGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemarkungsgrenze"';
200
201CREATE OR REPLACE VIEW SK2018_BUNDESLANDGRENZE
202AS
203 SELECT blg.OGR_FID, blg.ORA_GEOMETRY
204   FROM ax_besondereflurstuecksgrenze blg
205  WHERE (
206    --7102 = ANY (blg.artderflurstuecksgrenze))
207    (instr(blg.artderflurstuecksgrenze,'7102') > 0)
208    --AND blg.advstandardmodell ~~ 'DLKM';
209    AND (instr(blg.advstandardmodell,'DLKM') > 0));
210COMMENT ON VIEW SK2018_BUNDESLANDGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "BundesLANDgrenze"';
211
212CREATE OR REPLACE VIEW SK2020_REGIERUNGSBEZIRKSGRENZE
213AS
214 SELECT rbg.OGR_FID, rbg.ORA_GEOMETRY
215   FROM ax_besondereflurstuecksgrenze rbg
216  WHERE (--7103 = ANY (rbg.artderflurstuecksgrenze))
217    (instr(rbg.artderflurstuecksgrenze,'7103') > 0)
218    --AND rbg.advstandardmodell ~~ 'DLKM';
219    AND (instr(rbg.advstandardmodell,'DLKM') > 0));
220COMMENT ON VIEW SK2020_REGIERUNGSBEZIRKSGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Regierungsbezirksgrenze"';
221
222CREATE OR REPLACE VIEW SK2022_GEMEINDEGRENZE
223AS
224 SELECT gemg.OGR_FID, gemg.ORA_GEOMETRY
225   FROM ax_besondereflurstuecksgrenze gemg
226  WHERE (
227    --7106 = ANY (gemg.artderflurstuecksgrenze))
228     (instr(gemg.artderflurstuecksgrenze,'7106') > 0)
229    --AND gemg.advstandardmodell ~~ 'DLKM';
230    AND (instr(gemg.advstandardmodell,'DLKM') > 0));
231COMMENT ON VIEW SK2022_GEMEINDEGRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze "Gemeindegrenze"';
232
233CREATE OR REPLACE VIEW SK201X_POLITISCHE_GRENZE
234AS
235 SELECT OGR_FID, artderflurstuecksgrenze as art, ORA_GEOMETRY
236   FROM ax_besondereflurstuecksgrenze
237  WHERE (
238     --7102 = ANY (artderflurstuecksgrenze)
239     --OR  7102 = ANY (artderflurstuecksgrenze)
240     --  7103 = ANY (artderflurstuecksgrenze)
241     -- OR  7104 = ANY (artderflurstuecksgrenze)
242     --OR  7106 = ANY (artderflurstuecksgrenze)
243     (instr(artderflurstuecksgrenze,'7102') > 0)
244     OR (instr(artderflurstuecksgrenze,'7102') > 0)
245     OR (instr(artderflurstuecksgrenze,'7103') > 0)
246     OR (instr(artderflurstuecksgrenze,'7104') > 0)
247     OR (instr(artderflurstuecksgrenze,'7106') > 0)
248    )
249    --AND advstandardmodell ~~ 'DLKM';
250   AND (instr(advstandardmodell,'DLKM') > 0);
251
252COMMENT ON VIEW SK201X_POLITISCHE_GRENZE IS 'fuer Kartendarstellung: besondere FlurstÃŒcksgrenze Politische Grenzen (Bund, LAND, Kreis, Gemeinde)';
253
254
255CREATE OR REPLACE VIEW FLSTNR_OHNE_POSITION
256AS
257 SELECT f.GML_ID,
258        f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler || COALESCE ('/' || f.nenner, '') AS SUCH
259 FROM        ax_flurstueck     f
260   LEFT JOIN alkis_beziehungen v  ON v.beziehung_zu = f.GML_ID
261  WHERE v.beziehungsart is NULL
262    AND f.endet IS NULL
263  ;
264COMMENT ON VIEW FLSTNR_OHNE_POSITION IS 'FlurstÌcke ohne manuell gesetzte Position fÌr die PrÀsentation der FS-Nr';
265
266CREATE OR REPLACE VIEW S_ALLGEMEINE_TEXTE
267AS
268 SELECT p.OGR_FID,
269        p.ART,
270        p.DREHWINKEL * 57.296 AS DREHWINKEL,
271        p.SCHRIFTINHALT
272   FROM ap_pto p
273  WHERE NOT p.art = 'ZAE_NEN'
274    AND NOT p.art = 'HNR'
275    AND NOT p.art = 'FKT'
276    AND NOT p.art = 'Friedhof'
277    AND p.schriftinhalt IS NOT NULL
278    AND p.endet IS NULL;
279
280CREATE OR REPLACE VIEW AP_PTO_ARTEN
281AS
282  SELECT DISTINCT art
283    FROM ap_pto;
284
285-- ToDo: pruefen
286CREATE OR REPLACE VIEW TEXTE_MIT_UMBRUCH
287AS
288 SELECT OGR_FID, schriftinhalt, art
289   FROM ap_pto
290  WHERE not schriftinhalt is null
291    AND schriftinhalt like '%/n%';
292
293-- ToDo:
294CREATE OR REPLACE VIEW S_ALLGEMEINE_TEXTE_ARTEN
295AS
296 SELECT DISTINCT art
297   FROM s_allgemeine_texte;
298CREATE OR REPLACE VIEW FLURSTUECKS_MINMAX AS
299 SELECT min(st_xmin(ORA_GEOMETRY)) AS r_min,
300        min(st_ymin(ORA_GEOMETRY)) AS h_min,
301        max(st_xmax(ORA_GEOMETRY)) AS r_max,
302        max(st_ymax(ORA_GEOMETRY)) AS h_max
303   FROM ax_flurstueck f
304   WHERE f.endet IS NULL;
305COMMENT ON VIEW FLURSTUECKS_MINMAX IS 'Maximale Ausdehnung von ax_flurstueck fuer EXTENT-Angabe im Mapfile';
306
307-- ToDo:
308-- Tabelle liegt nur einmal vor wegen Laenge des Namens
309CREATE OR REPLACE VIEW BAURECHT
310AS
311  SELECT r.OGR_FID,
312         r.ORA_GEOMETRY,
313         r.GML_ID,
314         r.artderfestlegung as adfkey,
315         r.name,
316         r.stelle,
317         r.bezeichnung AS rechtbez,
318        a.bezeichner  AS adfbez,
319         d.bezeichnung AS stellbez
320    FROM AX_BAURAUMODERBODENORDNUNGSREC r
321    LEFT JOIN AX_BAURAUMODERBODENORDNUNGSKEY a
322     ON r.artderfestlegung = a.wert
323    LEFT JOIN ax_dienststelle d
324      ON r.LAND   = d.LAND
325    AND r.stelle = d.stelle
326  WHERE r.endet IS NULL
327   AND d.endet IS NULL ;
328
329CREATE OR REPLACE VIEW GEMARKUNG_IN_GEMEINDE
330AS
331  SELECT DISTINCT LAND, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
332  FROM            ax_flurstueck
333  WHERE           endet IS NULL
334  ORDER BY        LAND, regierungsbezirk, kreis, gemeinde, gemarkungsnummer
335;
336COMMENT ON VIEW GEMARKUNG_IN_GEMEINDE IS 'Welche Gemarkung liegt in welcher Gemeinde? Durch Verweise aus FlurstÃŒck.';
337
338--ToDo:
339--CREATE OR REPLACE VIEW ARTEN_VON_FLURSTUECKSGEOMETRIE
340--AS
341-- SELECT   count(GML_ID) as anzahl,
342 --         st_geometrytype(ORA_GEOMETRY)
343-- FROM     ax_flurstueck
344-- WHERE    endet IS NULL
345-- GROUP BY st_geometrytype(ORA_GEOMETRY);
346
347CREATE OR REPLACE VIEW ADRESSEN_HAUSNUMMERN
348AS
349    SELECT
350        s.bezeichnung AS strassenname,
351         g.bezeichnung AS gemeindename,
352         l.LAND,
353         l.regierungsbezirk,
354         l.kreis,
355         l.gemeinde,
356         l.lage        AS strassenschluessel,
357         l.hausnummer
358    FROM   AX_LAGEBEZEICHNUNGMITHAUSNUMME l 
359    JOIN   ax_gemeinde g
360      ON l.kreis=g.kreis
361     AND l.gemeinde=g.gemeinde
362    JOIN   AX_LAGEBEZEICHNUNGKATALOGEINTR s
363      ON l.kreis=s.kreis
364     AND l.gemeinde=s.gemeinde
365     AND l.lage = s.lage
366    --WHERE     l.gemeinde = 40;
367
368CREATE OR REPLACE VIEW ADRESSEN_ZUM_FLURSTUECK
369AS
370    SELECT
371           f.gemarkungsnummer,
372           f.flurnummer,
373           f.zaehler,
374           f.nenner,
375           g.bezeichnung AS gemeindename,
376           s.bezeichnung AS strassenname,
377           l.lage        AS strassenschluessel,
378           l.hausnummer
379      FROM   ax_flurstueck f
380      JOIN   alkis_beziehungen v
381        ON f.GML_ID=v.beziehung_von
382      JOIN   AX_LAGEBEZEICHNUNGMITHAUSNUMME l 
383        ON l.GML_ID=v.beziehung_zu
384      JOIN   ax_gemeinde g
385        ON l.kreis=g.kreis
386       AND l.gemeinde=g.gemeinde
387      JOIN   AX_LAGEBEZEICHNUNGKATALOGEINTR s
388        ON l.kreis=s.kreis
389       AND l.gemeinde=s.gemeinde
390       AND l.lage = s.lage
391     WHERE v.beziehungsart='weistAuf'
392       --AND l.gemeinde = 40
393     ORDER BY
394           f.gemarkungsnummer,
395           f.flurnummer,
396           f.zaehler,
397           f.nenner;
398
399CREATE OR REPLACE VIEW FLURSTUECKE_EINES_EIGENTUEMERS
400AS
401   SELECT
402      k.bezeichnung                AS gemarkung,
403      k.gemarkungsnummer           AS gemkg_nr,
404      f.flurnummer                 AS flur,
405      f.zaehler                    AS fs_zaehler,
406      f.nenner                     AS fs_nenner,
407      f.amtlicheflaeche            AS flaeche,
408      f.ORA_GEOMETRY               AS geom,
409      b.bezeichnung                AS bezirkname,
410      g.BUCHUNGSBLATTNUMMERMITBUCHSTAB AS gb_blatt,
411      g.blattart,
412      s.laufendenummer             AS bvnr,
413      art.bezeichner               AS buchgsart,
414      n.laufendenummernachdin1421  AS name_num,
415      p.nachnameoderfirma          AS nachname
416   FROM       ax_person              p
417        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.GML_ID
418        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.GML_ID
419        JOIN  alkis_beziehungen      bng  ON n.GML_ID = bng.beziehung_von
420        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.GML_ID
421        JOIN  ax_buchungsblattbezirk b    ON g.LAND = b.LAND AND g.bezirk = b.bezirk
422        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.GML_ID
423        JOIN  ax_buchungsstelle      s    ON s.GML_ID = bgs.beziehung_von
424        JOIN  ax_buchungsstelle_buchungsart art ON s.buchungsart = art.wert
425        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = s.GML_ID
426        JOIN  ax_flurstueck          f    ON f.GML_ID = bsf.beziehung_von
427        JOIN  ax_gemarkung           k    ON f.LAND = k.LAND AND f.gemarkungsnummer = k.gemarkungsnummer
428   WHERE p.nachnameoderfirma LIKE 'Gemeinde %'
429     AND bpn.beziehungsart = 'benennt'
430     AND bng.beziehungsart = 'istBestandteilVon'
431     AND bgs.beziehungsart = 'istBestandteilVon'
432     AND bsf.beziehungsart = 'istGebucht'
433     AND p.endet IS NULL
434     AND n.endet IS NULL
435     AND g.endet IS NULL
436     AND b.endet IS NULL
437     AND s.endet IS NULL
438     AND f.endet IS NULL
439     AND k.endet IS NULL
440   ORDER BY   
441         k.bezeichnung,
442         f.flurnummer,
443         f.zaehler,
444         f.nenner,
445         g.bezirk,
446         g.BUCHUNGSBLATTNUMMERMITBUCHSTAB,
447         s.laufendenummer
448;
449CREATE OR REPLACE VIEW RECHTE_EINES_EIGENTUEMERS
450AS
451   SELECT
452      k.bezeichnung                AS gemarkung,
453      k.gemarkungsnummer           AS gemkg_nr,
454      f.flurnummer                 AS flur,
455      f.zaehler                    AS fs_zaehler,
456      f.nenner                     AS fs_nenner,
457      f.amtlicheflaeche            AS flaeche,
458      f.ORA_GEOMETRY               AS geom,
459      b.bezeichnung                AS bezirkname,
460      g.BUCHUNGSBLATTNUMMERMITBUCHSTAB AS gb_blatt,
461      sh.laufendenummer            AS bvnr_herr,
462      sh.zaehler || '/' || sh.nenner AS buchg_anteil_herr,
463      arth.bezeichner              AS buchgsa_herr,
464      bss.beziehungsart            AS bez_art,
465      artd.bezeichner              AS buchgsa_dien,
466      sd.laufendenummer            AS bvnr_dien,
467      n.laufendenummernachdin1421  AS name_num,
468      p.nachnameoderfirma          AS nachname
469   FROM       ax_person              p
470        JOIN  alkis_beziehungen      bpn  ON bpn.beziehung_zu  = p.GML_ID
471        JOIN  ax_namensnummer        n    ON bpn.beziehung_von =n.GML_ID
472        JOIN  alkis_beziehungen      bng  ON n.GML_ID = bng.beziehung_von
473        JOIN  ax_buchungsblatt       g    ON bng.beziehung_zu = g.GML_ID
474        JOIN  ax_buchungsblattbezirk b    ON g.LAND = b.LAND AND g.bezirk = b.bezirk
475        JOIN  alkis_beziehungen      bgs  ON bgs.beziehung_zu = g.GML_ID
476        JOIN  ax_buchungsstelle      sh   ON sh.GML_ID = bgs.beziehung_von
477        JOIN  ax_buchungsstelle_buchungsart arth ON sh.buchungsart = arth.wert
478        JOIN  alkis_beziehungen      bss  ON sh.GML_ID = bss.beziehung_von
479        JOIN  ax_buchungsstelle      sd   ON sd.GML_ID = bss.beziehung_zu
480        JOIN  ax_buchungsstelle_buchungsart artd ON sd.buchungsart = artd.wert
481        JOIN  alkis_beziehungen      bsf  ON bsf.beziehung_zu = sd.GML_ID
482        JOIN  ax_flurstueck          f    ON f.GML_ID = bsf.beziehung_von
483        JOIN  ax_gemarkung           k    ON f.LAND = k.LAND AND f.gemarkungsnummer = k.gemarkungsnummer
484   WHERE p.nachnameoderfirma LIKE 'Stadt %'
485     AND bpn.beziehungsart = 'benennt'
486     AND bng.beziehungsart = 'istBestandteilVon'
487     AND bgs.beziehungsart = 'istBestandteilVon'
488     AND bss.beziehungsart in ('an','zu')
489     AND bsf.beziehungsart = 'istGebucht'
490     AND p.endet IS NULL
491     AND n.endet IS NULL
492     AND g.endet IS NULL
493     AND b.endet IS NULL
494     AND sh.endet IS NULL
495     AND sd.endet IS NULL
496     AND f.endet IS NULL
497     AND k.endet IS NULL
498   ORDER BY   
499         k.bezeichnung,
500         f.flurnummer,
501         f.zaehler,
502         f.nenner,
503         g.bezirk,
504         g.BUCHUNGSBLATTNUMMERMITBUCHSTAB,
505         sh.laufendenummer
506;
507
508CREATE OR REPLACE VIEW BEZIEHUNGEN_REDUNDANT
509AS
510SELECT *
511 FROM alkis_beziehungen AS bezalt
512 WHERE EXISTS
513       (SELECT OGR_FID
514         FROM alkis_beziehungen AS bezneu
515        WHERE bezalt.beziehung_von = bezneu.beziehung_von
516          AND bezalt.beziehung_zu  = bezneu.beziehung_zu
517          AND bezalt.beziehungsart = bezneu.beziehungsart
518          AND bezalt.OGR_FID       < bezneu.ogc_fid
519        );
520
521COMMENT ON VIEW BEZIEHUNGEN_REDUNDANT IS 'alkis_beziehungen zu denen es eine identische neue Version gibt.';
522
523--ToDo
524--CREATE OR REPLACE VIEW BEZIEHUNGEN_REDUNDANT_IN_DELET
525--AS
526--SELECT *
527-- FROM alkis_beziehungen AS bezalt
528-- WHERE EXISTS
529--       (SELECT OGR_FID
530--         FROM alkis_beziehungen AS bezneu
531--        WHERE bezalt.beziehung_von = bezneu.beziehung_von
532--          AND bezalt.beziehung_zu  = bezneu.beziehung_zu
533--         AND bezalt.beziehungsart = bezneu.beziehungsart
534--          AND bezalt.OGR_FID       < bezneu.ogc_fid
535--        )
536--     AND EXISTS
537--        (SELECT OGR_FID
538--         FROM delete
539--         WHERE bezalt.beziehung_von = substr(featureid, 1, 16)
540--            OR bezalt.beziehung_zu  = substr(featureid, 1, 16)
541--        );
542
543--COMMENT ON VIEW BEZIEHUNGEN_REDUNDANT_IN_DELET IS 'alkis_beziehungen zu denen es eine identische neue Version gibt und wo das Objekt noch in der delete-Tabelle vorkommt.';
544purge recyclebin;
545QUIT;
Note: See TracBrowser for help on using the repository browser.