Changeset 308 for trunk/import
- Timestamp:
- 01/27/14 17:55:54 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/sichten.sql
r305 r308 26 26 -- 2014-01-20 Erweiterung "exp_csv" fÃŒr alkisexport.php 27 27 -- 2014-01-21 In "exp_csv": Rechtsgemeinsachaft zu allen Personen statt als eigener Satz. 28 28 -- 2014-01-27 Neuer Baustein "flst_an_strasse". Neuer View "exp_csv_str" fÃŒr CSV-Export von Flst. an einer StraÃe 29 29 30 30 -- Bausteine fÃŒr andere Views: … … 72 72 -- SELECT * FROM doppelverbindung WHERE ba_dien > 0 LIMIT 20; 73 73 74 75 76 -- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÀlle herstellt. 77 -- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE. 78 -- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden. 79 80 -- FlurstÃŒck >weistAuf> ax_lagebezeichnungmithausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 81 -- FlurstÃŒck >zeigtAuf> ax_lagebezeichnungohnehausnummer <JOIN> ax_lagebezeichnungkatalogeintrag 82 83 -- DROP VIEW public.flst_an_strasse; 84 CREATE OR REPLACE VIEW public.flst_an_strasse 85 AS 86 SELECT vm.beziehung_von AS fsgml, -- Join auf "gml_id" aus "ax_flurstÃŒck" 87 sm.gml_id AS stgml, -- Filter: gml_id der StraÃe 88 -- sm.gemeinde, sm.lage, -- Gemeinde- und StraÃenschluessel als Filter? 89 'm' AS fall -- SÀtze unterschieden: Mit HsNr 90 FROM alkis_beziehungen vm -- Verbindung Mit 91 JOIN ax_lagebezeichnungmithausnummer lm -- Lage MIT 92 ON lm.gml_id=vm.beziehung_zu 93 AND vm.beziehungsart= 'weistAuf' 94 JOIN ax_lagebezeichnungkatalogeintrag sm -- Ausnahmsweise mal direkt und nicht ÃŒber die "alkis_beziehungen" 95 ON lm.land=sm.land 96 AND lm.regierungsbezirk=sm.regierungsbezirk 97 AND lm.kreis=sm.kreis 98 AND lm.gemeinde=sm.gemeinde 99 AND lm.lage=sm.lage 100 UNION 101 SELECT vo.beziehung_von AS fsgml, -- Join auf gml_id aus ax_flurstÃŒck 102 so.gml_id AS stgml, -- Filter: gml_id der StraÃe 103 -- so.gemeinde, so.lage -- Gemeinde- und StraÃenschluessel als Filter? 104 'o' AS fall -- SÀtze unterschieden: Ohne HsNr 105 FROM alkis_beziehungen vo -- Verbindung OHNE 106 JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE 107 ON lo.gml_id=vo.beziehung_zu 108 AND vo.beziehungsart= 'zeigtAuf' 109 JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE 110 ON lo.land=so.land 111 AND lo.regierungsbezirk=so.regierungsbezirk 112 AND lo.kreis=so.kreis 113 AND lo.gemeinde=so.gemeinde 114 AND lo.lage=so.lage; 115 116 COMMENT ON VIEW public.flst_an_strasse 117 IS 'ALKIS-Beziehung von FlurstÃŒck zu StraÃentabelle. UNION-Zusammenfassung der FÀlle MIT und OHNE Hausnummer.'; 118 119 -- Muss man noch dafÃŒr sorgen, dass FlurstÃŒck nicht doppelt vorkommt? z.B. mit DISTINCT 120 -- Oder mÃŒssen ggf. mehrfache FS im Programm ÃŒbersprungen werden? 121 122 -- Test-Ausgabe: 123 -- SELECT * FROM flst_an_strasse WHERE stgml='DENW18AL000004Fl' LIMIT 40; 124 74 125 -- Ende "Bausteine" 75 76 126 77 127 … … 81 131 -- Wird benötigt im Auskunft-Modul "alkisexport.php": 82 132 -- Je nach aufrufendem Modul wird der Filter (WHERE) an anderer Stelle gesetzt (gml_id von FS, GB oder Pers.) 133 -- FÃŒr Filter nach "StraÃe" siehe die nachfolgende Sonderversion "exp_csv_str". 83 134 84 135 -- Problem / Konflikt: … … 125 176 126 177 -- Person 127 128 129 130 131 132 133 178 p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 179 p.anrede, 180 p.vorname, 181 p.namensbestandteil, 182 p.nachnameoderfirma, -- Familienname 183 p.geburtsdatum, 184 --p.geburtsname, p.akademischergrad 134 185 135 186 -- Adresse der Person … … 200 251 GRANT SELECT ON TABLE exp_csv TO mb27; -- User fÃŒr Auskunfts-Programme 201 252 --GRANT SELECT ON TABLE exp_csv TO alkisbuch; -- User fÃŒr Auskunfts-Programme RLP-Demo 253 254 255 -- Variante des View "exp_csv": 256 -- Hier wird zusÀtzlich der Baustein "flst_an_strasse" verwendet. 257 -- Der Filter "WHERE stgml= " auf die "gml_id" von "ax_lagebezeichnungkatalogeintrag" sollte gesetzt werden 258 -- um alle FlurstÃŒcke zu bekommen, die an einer StraÃe liegen. 259 -- DROP VIEW exp_csv_str; 260 CREATE OR REPLACE VIEW exp_csv_str 261 AS 262 SELECT 263 l.stgml, -- Filter: StraÃen-GML-ID 264 265 -- FlurstÃŒck 266 f.gml_id AS fsgml, -- Gruppenwechsel fÃŒr "function lage_zum_fs" in alkisexport.php 267 f.flurstueckskennzeichen AS fs_kennz, 268 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 269 f.flurnummer, f.zaehler, f.nenner, 270 f.amtlicheflaeche AS fs_flae, 271 g.bezeichnung AS gemarkung, 272 273 -- Grundbuch 274 --gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 275 gb.bezirk AS gb_bezirk, 276 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 277 z.bezeichnung AS beznam, -- GB-Bezirks-Name 278 279 -- Buchungsstelle (GrundstÃŒck) 280 s.laufendenummer AS bu_lfd, -- BVNR 281 --s.zaehler, s.nenner, -- Anteil des GB am FS, einzelne Felder 282 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 283 s.buchungsart, -- verschlÃŒsselt 284 b.bezeichner AS bu_art, -- Buchungsart entschlÃŒsselt 285 286 -- NamensNummer (Normalfall mit Person) 287 nn.laufendenummernachdin1421 AS nam_lfd, 288 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 289 290 -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 291 rg.artderrechtsgemeinschaft AS nam_adr, 292 rg.beschriebderrechtsgemeinschaft AS nam_bes, 293 294 -- Person 295 --p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 296 p.anrede, 297 p.vorname, 298 p.namensbestandteil, 299 p.nachnameoderfirma, -- Familienname 300 p.geburtsdatum, 301 --p.geburtsname, p.akademischergrad 302 303 -- Adresse der Person 304 a.postleitzahlpostzustellung AS plz, 305 a.ort_post AS ort, -- Anschreifenzeile 1: PLZ+Ort 306 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 307 a.bestimmungsland AS land 308 309 FROM ax_flurstueck f -- FlurstÃŒck 310 311 JOIN flst_an_strasse l -- Lage (hier zusÀtzlicher JOIN gegenÃŒber Version "exp_csv") 312 ON l.fsgml = f.gml_id 313 314 JOIN doppelverbindung d -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung 315 ON d.fsgml = f.gml_id 316 317 JOIN ax_gemarkung g -- entschlÃŒsseln 318 ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 319 320 JOIN ax_buchungsstelle s -- Buchungs-Stelle 321 ON d.bsgml = s.gml_id 322 JOIN ax_buchungsstelle_buchungsart b -- EnstschlÃŒsselung der Buchungsart 323 ON s.buchungsart = b.wert 324 325 JOIN alkis_beziehungen v3 -- Buchung --> Grundbuchblatt 326 ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon' 327 JOIN ax_buchungsblatt gb 328 ON v3.beziehung_zu = gb.gml_id 329 330 JOIN ax_buchungsblattbezirk z 331 ON gb.land=z.land AND gb.bezirk=z.bezirk 332 333 JOIN alkis_beziehungen v4 -- Blatt --> NamNum 334 ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon' 335 JOIN ax_namensnummer nn 336 ON v4.beziehung_von = nn.gml_id 337 338 JOIN alkis_beziehungen v5 -- NamNum --> Person 339 -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person) 340 ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt' 341 JOIN ax_person p 342 ON v5.beziehung_zu = p.gml_id 343 344 LEFT JOIN alkis_beziehungen v6 -- Person --> Anschrift 345 ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 346 LEFT JOIN ax_anschrift a 347 ON v6.beziehung_zu = a.gml_id 348 349 -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery: 350 351 -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft". 352 -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person. 353 LEFT JOIN 354 ( SELECT v7.beziehung_zu, 355 rg.artderrechtsgemeinschaft, 356 rg.beschriebderrechtsgemeinschaft 357 FROM ax_namensnummer rg 358 JOIN alkis_beziehungen v7 -- Blatt --> NamNum (Rechtsgemeinschaft) 359 ON v7.beziehung_von = rg.gml_id 360 WHERE v7.beziehungsart = 'istBestandteilVon' 361 AND NOT rg.artderrechtsgemeinschaft IS NULL 362 ) AS rg -- Rechtsgemeinschaft 363 ON rg.beziehung_zu = gb.gml_id -- zum GB 364 365 ORDER BY f.flurstueckskennzeichen, 366 gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer, 367 nn.laufendenummernachdin1421; 368 369 COMMENT ON VIEW exp_csv_str 370 IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Liefert nur FlurstÃŒcke, die eine Lagebezeichnung MIT/OHNE Hausnummer haben. Dazu noch den Filter auf GML-ID der StraÃentabelle setzen.'; 371 372 GRANT SELECT ON TABLE exp_csv_str TO mb27; -- User fÃŒr Auskunfts-Programme 373 --GRANT SELECT ON TABLE exp_csv_str TO alkisbuch; -- User fÃŒr Auskunfts-Programme RLP-Demo 374 375 376 -- Test-Ausgabe: 377 -- SELECT * FROM exp_csv_str WHERE stgml='DENW18AL000004Fl' LIMIT 40; 202 378 203 379
Note: See TracChangeset
for help on using the changeset viewer.