Index: trunk/import/sichten.sql
===================================================================
--- trunk/import/sichten.sql	(revision 295)
+++ trunk/import/sichten.sql	(revision 298)
@@ -22,4 +22,53 @@
 --             Diese Datei aufgeteilt in "sichten.sql" und "sichten_wms.sql"
 --  2013-10-23 Fehlersuche GebÃ€ude-Hausnummer-Relation
+--  2013-11-26 Neue Views (doppelverbindung)
+
+
+-- Bausteine fÃŒr andere Views:
+-- ---------------------------
+
+-- Ein View, der die Verbindung von FlurstÃŒck zur Buchung fÃŒr zwei verschiedene FÃ€lle herstellt.
+-- Einmal die "normalen" (direkten) Buchungen.
+-- Zweitens ÃŒber die Rechte von Buchungsstellen an anderen Buchungsstellen.
+-- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden.
+
+-- Einfach/Direkt:
+--   FlurstÃŒck   >istGebucht>                         (Buchungs-Stelle)
+--
+-- Mit "Recht an":
+--   FlurstÃŒck   >istGebucht>  Buchungs-Stelle  <an<  (Buchungs-Stelle)
+--                               (dienend)              (herrschend) 
+
+--           DROP VIEW public.doppelverbindung;
+CREATE OR REPLACE VIEW public.doppelverbindung
+AS
+  SELECT v1.beziehung_von AS fsgml,       -- gml_id auf FlurstÃŒck - Seite
+         v1.beziehung_zu  AS bsgml,       -- gml_id auf Buchungs  - Seite
+      --'direkt' AS fall,
+         0 AS ba_dien
+    FROM alkis_beziehungen v1
+   WHERE v1.beziehungsart = 'istGebucht'  -- FS --> Buchung
+ UNION
+  -- Buchungstelle  >an>  Buchungstelle  >istBestandteilVon>  BLATT 
+  SELECT v2.beziehung_von AS fsgml,        -- gml_id auf FlurstÃŒck - Seite
+         an.beziehung_von AS bsgml,        -- gml_id auf Buchungs  - Seite (herrschendes GB)
+      --'Recht an' AS fall,
+         dien.buchungsart AS ba_dien       -- Ein Feld aus der Zwischen-Buchung zur Fall-Unterscheidung
+    FROM alkis_beziehungen v2
+    JOIN ax_buchungsstelle dien
+      ON  v2.beziehung_zu = dien.gml_id
+    JOIN alkis_beziehungen an
+      ON dien.gml_id = an.beziehung_zu
+   WHERE v2.beziehungsart = 'istGebucht'   -- FS --> Buchung
+     AND an.beziehungsart = 'an';
+
+COMMENT ON VIEW public.doppelverbindung 
+ IS 'ALKIS-Beziehung von FlurstÃŒck zu Buchung. UNION-Zusammenfassung des einfachen Falls mit direkter Buchung und des Falles mit Recht einer Buchungsstelle an einer anderen Buchungsstelle.';
+
+-- Ende "Bausteine"
+
+
+-- Test-Ausgabe: Ein paar FÃ€lle mit "Recht an"
+--   SELECT * FROM doppelverbindung WHERE ba_dien > 0 LIMIT 20;
 
 -- Welche Karten-Typen ?
@@ -205,5 +254,5 @@
 COMMENT ON VIEW adressen_zum_flurstueck IS 'Datenanalyse: Zuordnung von Adressen zu Flurstuecken. SchlÃŒssel der Gemeinde nach Bedarf anpassen.';
 
--- PunktfÃ¶rmige  P r Ã€ s e n t a t i o n s o b j k t e  (ap_pto)
+-- PunktfÃ¶rmige  P r Ã€ s e n t a t i o n s o b j e k t e  (ap_pto)
 -- Ermittlung der vorkommenden Arten
 CREATE OR REPLACE VIEW beschriftung_was_kommt_vor 
@@ -486,3 +535,36 @@
  IS 'GebÃ€ude mit mehreren Hausnummern suchen (ist erlaubt) und dazu die Adressen anzeigen.';
 
+
+-- Analyse der Buchungs-Arten im Bestand
+CREATE OR REPLACE VIEW buchungsarten_vorkommend
+AS
+  SELECT a.wert, a.bezeichner, 
+         count(b.gml_id) AS anzahl_buchungen
+    FROM ax_buchungsstelle_buchungsart a
+    JOIN ax_buchungsstelle b  ON a.wert = b.buchungsart
+GROUP BY a.wert, a.bezeichner
+ORDER BY a.wert, a.bezeichner;
+
+COMMENT ON VIEW buchungsarten_vorkommend
+ IS 'Welche Arten von Buchungsart kommen in dieser Datenbank tÃ€tsÃ€chlich vor?.';
+
+
+-- Analyse: FÃ€lle mit Erbbaurecht
+-- Benutzt den Baustein-View "doppelverbindung"
+CREATE OR REPLACE VIEW erbbaurechte_suchen
+AS
+  SELECT f.gml_id, 
+  --f.flurstueckskennzeichen,
+    f.gemarkungsnummer || '-' || f.flurnummer || '-' || f.zaehler AS fssuch, f.nenner
+   FROM ax_flurstueck    f 
+   JOIN doppelverbindung d     -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von BS an BS
+     ON d.fsgml = f.gml_id 
+   JOIN ax_buchungsstelle s    -- Buchungs-Stelle
+     ON d.bsgml = s.gml_id 
+   WHERE s.buchungsart = 2101;
+
+COMMENT ON VIEW erbbaurechte_suchen
+ IS 'Suche nach FÃ€llen mit Buchungsrt 2101=Erbbaurecht';
+
+
 -- END --
