View über eine eigene Flurstücketabelle und die ALK-Flurstücketabelle alknflst: Unterschied zwischen den Versionen

Aus kvwmap
Wechseln zu: Navigation, Suche
 
(Die Seite wurde geleert.)
 
Zeile 1: Zeile 1:
--[[Benutzer:Markus Hentschel|Markus Hentschel]] 10:39, 7. Mär 2008 (CET)
+
 
<br><br>
+
Eine eigene Tabelle, in der Gemarkung - Flur - Flurstück stehen, mit der ALK-Tabelle alknflst zu verknüpfen, ist nicht ganz trivial, wenn die Benutzer in der eigenen Tabelle einige Freiheiten bei der Eingabe haben. So könnten sie z.B. die Gemarkung mit und ohne führende 13, die Flur ohne führende Nullen und die Flurstücksnummer ebenfalls im Zähler und Nenner ohne führende Nullen schreiben. Außerdem kann der Nenner auch fehlen, wenn nur die Stammnummer existiert.
+
<br>
+
Ein SQL, dass dennoch für alle Datenzeilen entsprechende Treffer aus den ALK-Tabellen liefert, kann so aussehen:
+
SELECT eigene.gemkgschl, eigene.flur, eigene.flurstkennz, alknflst.objnr
+
FROM eigene e, alknflst f
+
WHERE substring (f.flurstkennz,1,6) = case when length(e.gemkgschl)=4 then '13'||e.gemkgschl else e.gemkgschl end
+
AND ltrim(substring(f.flurstkennz,8,3),'0') = ltrim(e.flur,'0')
+
AND ltrim(substring(f.flurstkennz,12,5),'0') = case when position('/' in e.flurstkennz)=0 then ltrim(e.flurstkennz,'0') else ltrim(substring(e.flurstkennz,1,position('/' in e.flurstkennz)-1),'0') end
+
AND ltrim(substring(f.flurstkennz,18,3),'0') = case when ltrim(substring(e.flurstkennz,position('/' in e.flurstkennz)+1,3),'0')='0' or position('/' in e.flurstkennz)=0 then <nowiki>''</nowiki> else ltrim(substring(e.flurstkennz,position('/' in e.flurstkennz)+1,3),'0') end
+
Damit sollte der Benutzer in die eigene Tabelle so schreiben können, wie man es gewohnt ist ("Gemarkung 2576, Flur 1, Flurstuck 12/34") und die Verknüpfung zur Tabelle alknflst funktioniert trotzdem.
+

Aktuelle Version vom 9. August 2016, 15:20 Uhr