Ignore:
Timestamp:
01/20/14 14:51:46 (10 years ago)
Author:
frank.jaeger
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/sichten.sql

    r301 r303  
    2424--  2013-11-26 Neue Views (doppelverbindung) 
    2525--  2014-01-17 View "exp_csv" fÃŒr den Export von CSV-Daten aus der Auskunft mit Modul alkisexport.php. 
     26--  2014-01-20 Erweiterung "exp_csv" fÃŒr alkisexport.php 
    2627 
    2728 
     
    8687-- Diese Redundanzen mÃŒssen vom dem Programm gefiltert werden, das die Daten ÃŒber eine Schnittstelle einliest. 
    8788 
     89-- Durch LEFT-JOIN werden wahlweise Namennummern mit Person und Adresse erzeugt,  
     90-- oder auch Namensnummern einer einem Beschrieb der Rechtsgemeinschaft oder leere Felder zu einem fiktiven Grundbuch. 
     91-- Auch mit diesen Zeilen-Varianten muss das weiter verarbeitende Programm klar kommen. 
     92 
    8893-- Anwendungs-Beispiel: Abrechnung von AnliegerbeitrÀgen. 
    8994 
     
    9297AS 
    9398 SELECT 
    94   -- ** FlurstÃŒck 
    95      f.gml_id AS fsgml,                                   -- möglicher Filter FlurstÃŒcks-GML-ID 
     99  -- FlurstÃŒck 
     100     f.gml_id                             AS fsgml,       -- möglicher Filter FlurstÃŒcks-GML-ID 
    96101     f.flurstueckskennzeichen             AS fs_kennz, 
    97102     f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln 
    98103     f.flurnummer, f.zaehler, f.nenner,  
    99104     f.amtlicheflaeche                    AS fs_flae, 
    100  
    101    -- * Adressen des FS -- Nein, diese werden im Export-Modul ermitteln und nachtragen 
    102  --  k.bezeichnung                          AS strasse,   -- Straßennamen 
    103  --  split_part(l.hausnummer,' ',1)         AS hausnr,    -- Nummer 
    104  --  upper(split_part(l.hausnummer,' ',2))  AS hausnr_zs, -- Zusatz in Großschreibung 
    105  
    106   -- ** Grundbuch 
     105     g.bezeichnung                        AS gemarkung, 
     106 
     107  -- Grundbuch 
    107108     gb.gml_id                            AS gbgml,       -- möglicher Filter Grundbuch-GML-ID 
    108109     gb.bezirk                            AS gb_bezirk, 
    109110     gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 
    110  
    111  -- ** Buchung 
    112      s.laufendenummer                     AS bu_lfd, 
    113    -- s.zaehler, s.nenner,                                -- Anteil des GB am FS 
    114      '=' || s.zaehler|| '/' || s.nenner   AS bu_ant,      -- als Excel-Formel  (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 
    115    --s.buchungsart,                                       -- verschlÃŒsselt 
    116      b.bezeichner                         AS bu_art,      -- entschlÃŒsselt 
    117  
    118    -- Felder aus der Subquery "Namens-Zweig" 
    119      nz.nam_lfd, nz.nam_ant, nz.nam_bes,                  -- nn.* 
    120      nz.psgml,                                            -- möglicher Filter Personen-GML-ID 
    121      nz.nachnameoderfirma, nz.vorname, nz.geburtsdatum    -- p.* 
     111     z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name 
     112 
     113  -- Buchungsstelle (GrundstÃŒck) 
     114     s.laufendenummer                     AS bu_lfd,      -- BVNR 
     115    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder 
     116     '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 
     117     s.buchungsart,                                       -- verschlÃŒsselt 
     118     b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt 
     119 
     120   --NamensNummer 
     121     nn.laufendenummernachdin1421         AS nam_lfd,  
     122     '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel 
     123     nn.artderrechtsgemeinschaft          AS nam_adr, 
     124     nn.beschriebderrechtsgemeinschaft    AS nam_bes, 
     125 
     126     -- Person 
     127     p.gml_id                             AS psgml,           -- möglicher Filter Personen-GML-ID 
     128     p.anrede, 
     129     p.vorname, 
     130     p.namensbestandteil, 
     131     p.nachnameoderfirma,                                     -- Familienname 
     132     p.geburtsdatum, 
     133     --p.geburtsname, p.akademischergrad  
     134  
     135     -- Adresse der Person 
     136     a.postleitzahlpostzustellung         AS plz, 
     137     a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort 
     138     a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: Straße+HsNr 
     139     a.bestimmungsland                    AS land 
    122140 
    123141  FROM ax_flurstueck    f               -- FlurstÃŒck 
    124   JOIN doppelverbindung d               -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS 
     142  JOIN doppelverbindung d               -- beide FÀlle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung 
    125143    ON d.fsgml = f.gml_id  
     144 
     145  JOIN ax_gemarkung g                   -- entschlÃŒsseln 
     146    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer  
    126147 
    127148  JOIN ax_buchungsstelle s              -- Buchungs-Stelle 
     
    130151    ON s.buchungsart = b.wert  
    131152 
    132 --  JOIN alkis_beziehungen v2             -- ax_flurstueck  >weistAuf>  AX_LagebezeichnungMitHausnummer 
    133 --    ON v2.beziehung_von = f.gml_id AND v2.beziehungsart = 'weistAuf' 
    134 --  JOIN ax_lagebezeichnungmithausnummer l 
    135 --    ON v2.beziehung_zu = l.gml_id 
    136 --  JOIN ax_lagebezeichnungkatalogeintrag k  
    137 --   ON l.kreis = k.kreis AND l.gemeinde = k.gemeinde AND l.lage = k.lage  
    138  
    139   JOIN alkis_beziehungen v3              -- Grundbuch (zur Buchungs-Stelle) 
    140     ON s.gml_id = v3.beziehung_von  AND v3.beziehungsart = 'istBestandteilVon'  -- Buchung  --> Blatt 
     153  JOIN alkis_beziehungen v3              -- Buchung --> Grundbuchblatt 
     154    ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon' 
    141155  JOIN ax_buchungsblatt  gb  
    142156    ON v3.beziehung_zu = gb.gml_id  
    143157 
    144   LEFT JOIN -- LEFT: fiktives Blatt hat keine Namensnummern, dieser "Zweig" kann leer bleiben. 
    145   ( SELECT 
    146     -- Namensnummer 
    147      v4.beziehung_zu AS v4gml, 
    148      nn.laufendenummernachdin1421         AS nam_lfd,  
    149      '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel 
    150      nn.beschriebderrechtsgemeinschaft    AS nam_bes, 
    151  
    152      -- Person (zur Namensnummer) 
    153      p.gml_id                            AS psgml,            -- möglicher Filter 
    154      p.nachnameoderfirma,                                     -- Familienname 
    155      p.vorname,                                               -- Vorname 
    156      p.geburtsdatum 
    157  
    158      -- Adresse des EigentÃŒmers  - Nein 
    159  
    160    FROM alkis_beziehungen v4         -- Namensnummer (zum GB-Blatt)  
    161    JOIN ax_namensnummer nn  
    162      ON v4.beziehung_von = nn.gml_id  
    163    JOIN alkis_beziehungen v5         -- Person (zur Namensnummer) 
    164      ON v5.beziehung_von = nn.gml_id  AND v5.beziehungsart = 'benennt'  -- NamNum   --> Person 
    165    JOIN ax_person p 
    166      ON v5.beziehung_zu = p.gml_id 
    167    WHERE v4.beziehungsart = 'istBestandteilVon'  -- Blatt  --> NamNum 
    168   ) AS nz   -- Namens-Zweig 
    169    ON nz.v4gml = gb.gml_id      -- LEFT JOIN: Namenzweig an Grundbuch anbinden 
    170  
    171   ORDER BY f.flurstueckskennzeichen, gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, nz.nam_lfd ; 
     158  JOIN ax_buchungsblattbezirk z  
     159    ON gb.land=z.land AND gb.bezirk=z.bezirk  
     160 
     161  JOIN alkis_beziehungen v4              -- Blatt  --> NamNum 
     162    ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon'   
     163  JOIN ax_namensnummer nn  
     164    ON v4.beziehung_von = nn.gml_id 
     165 
     166  LEFT JOIN alkis_beziehungen v5         -- NamNum --> Person  
     167   -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreinbung der Rechtsgemeinschaft" geliefert (ohne Person) 
     168    ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt' 
     169  LEFT JOIN ax_person p 
     170    ON v5.beziehung_zu = p.gml_id 
     171 
     172  LEFT JOIN alkis_beziehungen v6        -- Person --> Anschrift 
     173    ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat'  
     174  LEFT JOIN ax_anschrift a  
     175    ON v6.beziehung_zu = a.gml_id 
     176  
     177  ORDER BY f.flurstueckskennzeichen,  
     178           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer, 
     179           nn.laufendenummernachdin1421; 
    172180 
    173181COMMENT ON VIEW exp_csv  
    174182 IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Generelle Struktur. FÃŒr eine bestimmte gml_id noch den Filter setzen.'; 
    175183 
    176 -- GRANT SELECT ON TABLE exp_csv TO mb27;       -- User fÃŒr Auskunfts-Programme 
    177 -- GRANT SELECT ON TABLE exp_csv TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo 
    178  
     184--GRANT SELECT ON TABLE exp_csv TO mb27;       -- User fÃŒr Auskunfts-Programme 
     185--GRANT SELECT ON TABLE exp_csv TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo 
    179186 
    180187 
Note: See TracChangeset for help on using the changeset viewer.