Changeset 78 for trunk/var


Ignore:
Timestamp:
02/01/11 18:54:45 (13 years ago)
Author:
frank.jaeger
Message:
 
Location:
trunk/var/www/info/alkis
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/var/www/info/alkis/alkisausk.php

    r74 r78  
    1717        25.01.2011  F. Jäger: Adressen (Lage mit HsNr) zum FS anzeigen   
    1818                                        https://trac.wheregroup.com/PostNAS/ticket/6 
     19        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1920*/ 
    2021ini_set('error_reporting', 'E_ALL'); 
     
    2223$gkz=urldecode($_REQUEST["gkz"]); 
    2324require_once("alkis_conf_location.php"); 
    24 if ($auth == "mapbender") { 
    25         // Bindung an Mapbender-Authentifizierung 
     25if ($auth == "mapbender") { // Bindung an Mapbender-Auth. 
    2626        require_once($mapbender); 
    2727} 
     
    6262 
    6363// *** F L U R S T U E C K *** 
    64 $sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, "; 
    65 $sql.=" g.gemarkungsnummer, g.bezeichnung "; 
     64$sql ="SELECT f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, g.gemarkungsnummer, g.bezeichnung "; 
    6665$sql.="FROM ax_flurstueck f "; 
    67 $sql.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     66$sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    6867$sql.="WHERE f.gml_id= $1;"; 
    6968// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
     
    140139// Analog zu alkisfsnachw.php, Kommentare siehe dort 
    141140$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
    142 $sql.="FROM  alkis_beziehungen v "; 
    143 $sql.="JOIN  ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    144 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
     141$sql.="FROM alkis_beziehungen v "; 
     142$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
     143$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    145144$sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
    146145$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    147 $sql.="AND   v.beziehungsart='weistAuf' "; 
     146$sql.="AND v.beziehungsart='weistAuf' "; 
    148147$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    149148$v = array($gmlid); 
     
    174173$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, "; 
    175174$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht 
    176 $sql.="FROM  alkis_beziehungen    bfs "; // Bez Flurst.- Stelle. 
    177 $sql.="JOIN  ax_buchungsstelle      s ON bfs.beziehung_zu=s.gml_id "; 
    178 $sql.="JOIN  alkis_beziehungen    bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 
    179 $sql.="JOIN  ax_buchungsblatt       b ON bsb.beziehung_zu=b.gml_id "; 
    180 $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    181  
     175$sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle. 
     176$sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id "; 
     177$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 
     178$sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id "; 
     179$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    182180$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 
    183  
    184181$sql.="WHERE bfs.beziehung_von= $1 "; 
    185 $sql.="AND   bfs.beziehungsart='istGebucht' "; 
    186 $sql.="AND   bsb.beziehungsart='istBestandteilVon' "; 
     182$sql.="AND bfs.beziehungsart='istGebucht' "; 
     183$sql.="AND bsb.beziehungsart='istBestandteilVon' "; 
    187184$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    188185 
  • trunk/var/www/info/alkis/alkisbestnw.php

    r76 r78  
    1111        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    1212        26.01.2011  Space in leere td 
     13        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1314        ToDo: 
    1415        Zahler fuer Anzahl GB und FS in der Liste (ausgeben wenn > 10) 
     
    6465$sql.="b.gml_id, b.bezirk, b.bezeichnung AS beznam, "; // Bezirk 
    6566$sql.="a.gml_id, a.land, a.bezeichnung, a.stelle, a.stellenart "; // Amtsgericht 
    66 $sql.="FROM  ax_buchungsblatt g "; 
    67 $sql.="JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ 
    68 $sql.="JOIN ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle "; 
     67$sql.="FROM ax_buchungsblatt g "; 
     68$sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land=b.land AND g.bezirk=b.bezirk ";  // BBZ 
     69$sql.="LEFT JOIN ax_dienststelle a ON b.\"gehoertzu|ax_dienststelle_schluessel|land\"=a.land AND b.stelle=a.stelle "; 
    6970$sql.="WHERE g.gml_id= $1 "; 
    70 $sql.="AND   a.stellenart=1000;"; // Amtsgericht 
     71$sql.="AND a.stellenart=1000;"; // Amtsgericht 
    7172 
    7273$v = array($gmlid); 
     
    224225                        // dienendes Grundbuch 
    225226                        $sql ="SELECT b.gml_id, b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung AS blatt, b.blattart, z.bezeichnung AS beznam "; 
    226                         $sql.="FROM  ax_buchungsblatt  b "; 
    227                         $sql.="JOIN  alkis_beziehungen v ON b.gml_id=v.beziehung_zu "; 
    228                         $sql.="JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk "; 
     227                        $sql.="FROM ax_buchungsblatt  b "; 
     228                        $sql.="JOIN alkis_beziehungen v ON b.gml_id=v.beziehung_zu "; 
     229                        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON b.land=z.land AND b.bezirk=z.bezirk "; 
    229230                        $sql.="WHERE v.beziehung_von='".$gml_bsan."' "; 
    230                         $sql.="AND   v.beziehungsart='istBestandteilVon' "; 
     231                        $sql.="AND v.beziehungsart='istBestandteilVon' "; 
    231232                        $sql.="ORDER BY b.land, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    232233 
     
    396397        $sql.=" ag.bezeichnung, ag.stelle, ag.stellenart "; // Amtsgericht 
    397398 
    398         $sql.="FROM  alkis_beziehungen  vf ";                                                                                   // Verbindung fiktiv 
    399         $sql.="JOIN  ax_buchungsstelle  sf  ON sf.gml_id = vf.beziehung_von ";  // Stelle fiktiv 
    400         $sql.="JOIN  alkis_beziehungen  vs  ON sf.gml_id = vs.beziehung_zu ";   // Verbindung Stellen 
    401         $sql.="JOIN  ax_buchungsstelle  sb  ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt 
    402         $sql.="JOIN  alkis_beziehungen  vb  ON sb.gml_id = vb.beziehung_von ";  // Verbindung berechtigt 
    403         $sql.="JOIN  ax_buchungsblatt   bb  ON bb.gml_id = vb.beziehung_zu ";   // Blatt berechtigt 
    404  
    405         $sql.="JOIN  ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk "; 
    406         $sql.="JOIN  ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle "; 
    407  
     399        $sql.="FROM alkis_beziehungen vf ";                                                                                     // Verbindung fiktiv 
     400        $sql.="JOIN ax_buchungsstelle sf ON sf.gml_id = vf.beziehung_von ";     // Stelle fiktiv 
     401        $sql.="JOIN alkis_beziehungen vs ON sf.gml_id = vs.beziehung_zu ";      // Verbindung Stellen 
     402        $sql.="JOIN ax_buchungsstelle sb ON sb.gml_id = vs.beziehung_von "; // Stelle berechtigt 
     403        $sql.="JOIN alkis_beziehungen vb ON sb.gml_id = vb.beziehung_von ";     // Verbindung berechtigt 
     404        $sql.="JOIN ax_buchungsblatt  bb ON bb.gml_id = vb.beziehung_zu ";      // Blatt berechtigt 
     405        $sql.="LEFT JOIN ax_buchungsblattbezirk bz ON bb.land = bz.land AND bb.bezirk = bz.bezirk "; 
     406        $sql.="LEFT JOIN ax_dienststelle ag ON bz.\"gehoertzu|ax_dienststelle_schluessel|land\" = ag.land AND bz.stelle=ag.stelle "; 
    408407        $sql.="LEFT JOIN ax_buchungsstelle_buchungsart ba ON sb.buchungsart = ba.wert "; 
    409  
    410408        $sql.="WHERE vf.beziehung_zu= $1 "; 
    411409        $sql.="AND  vf.beziehungsart='istBestandteilVon' "; 
     
    459457                                echo $rowb["bezeichnung"]; 
    460458                        echo "</td>"; 
    461  
    462459 
    463460                        echo "\n\t<td>"; 
  • trunk/var/www/info/alkis/alkisfkt.php

    r64 r78  
    99        09.11.2010  Functions, die nur einmal aufgerufen wurden, sequentiell in FS-Nachw. integriert 
    1010        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     11        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1112*/ 
    1213 
     
    8687        echo "append=".$append."<br>"; 
    8788        echo "showkey=".$showkey; 
    88  
    8989        echo "</p>"; */ 
    9090 
     
    121121        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 
    122122        $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 
    123         $sql.="FROM ax_gemarkung g "; 
    124         $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     123        $sql.="FROM ax_flurstueck f "; 
    125124        $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";  
     125        $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    126126        $sql.="WHERE v.beziehung_zu= $1 "; // id buchungsstelle 
    127         $sql.="AND   v.beziehungsart='istGebucht' "; 
     127        $sql.="AND v.beziehungsart='istGebucht' "; 
    128128        $sql.="ORDER BY f.gemarkungsnummer, f.flurnummer, f.zaehler, f.nenner;"; 
    129129 
     
    216216        $sql="SELECT n.gml_id, n.laufendenummernachdin1421 AS lfd, n.zaehler, n.nenner, "; 
    217217        $sql.="n.artderrechtsgemeinschaft AS adr, n.beschriebderrechtsgemeinschaft as beschr, n.eigentuemerart, n.anlass "; 
    218         $sql.="FROM  ax_namensnummer n "; 
    219         $sql.="JOIN  alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
     218        $sql.="FROM ax_namensnummer n "; 
     219        $sql.="JOIN alkis_beziehungen b ON b.beziehung_von=n.gml_id "; 
    220220        $sql.="WHERE b.beziehung_zu= $1 "; // id blatt 
    221         $sql.="AND   b.beziehungsart='istBestandteilVon' "; 
     221        $sql.="AND b.beziehungsart='istBestandteilVon' "; 
    222222        $sql.="ORDER BY laufendenummernachdin1421;"; 
    223223 
     
    234234        //echo "\n\n<!-- vor Schleife 1 Namensnummer -->"; 
    235235        while($rown = pg_fetch_array($resn)) { 
     236                $gmlnn=$rown["gml_id"]; 
    236237                echo "\n<tr>"; 
    237238                        echo "\n\t<td class='nanu' title='Namens-Nummer'>\n\t\t<p>"; // Sp. 1 
     
    270271                // Schleife 2: P e r s o n   
    271272                // Beziehung: ax_person  <benennt<  ax_namensnummer 
    272                 $sql="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
    273                 $sql.="FROM  ax_person p "; 
    274                 $sql.="JOIN  alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 
    275                 $sql.="WHERE v.beziehung_von= $1 "; // id num 
    276                 $sql.="AND   v.beziehungsart='benennt';"; 
    277  
    278                 $v = array($rown["gml_id"]); 
     273                $sql ="SELECT p.gml_id, p.nachnameoderfirma, p.vorname, p.geburtsname, p.geburtsdatum, p.namensbestandteil, p.akademischergrad "; 
     274                $sql.="FROM ax_person p JOIN alkis_beziehungen v ON v.beziehung_zu=p.gml_id "; 
     275                $sql.="WHERE v.beziehung_von= $1 AND v.beziehungsart='benennt';"; 
     276 
     277                $v = array($gmlnn); 
    279278                $rese = pg_prepare("", $sql); 
    280279                $rese = pg_execute("", $v); 
     280                // +++ kein Ergebnis bei leeren Schluesseltabellen !? 
    281281 
    282282                if (!$rese) {echo "\n\t<p class='err'>Fehler bei Eigentuemer<br>SQL= ".$sql."<br></p>\n";} 
     
    316316                                $sql.="FROM ax_anschrift a "; 
    317317                                $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
    318                                 $sql.="WHERE b.beziehung_von= $1 "; 
    319                                 $sql.="AND b.beziehungsart='hat';"; // ORDER? 
     318                                $sql.="WHERE b.beziehung_von= $1 AND b.beziehungsart='hat';"; // ORDER? 
    320319 
    321320                                $v = array($rowe["gml_id"]); 
  • trunk/var/www/info/alkis/alkisfsnw.php

    r76 r78  
    1414        05.01.2011  Korrektur der Fallunterscheidung "Funktion", auch "Vegetationsmerkmal", Title auf "Zustand". 
    1515        26.01.2011  Space in leere td 
     16        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1617        ToDo: 
    1718        - EntschlÃŒsseln "Bahnkategorie" bei Behnverkehr, "OberflÀchenmaterial" bei Unland 
     
    6869$sql.="g.gemarkungsnummer, g.bezeichnung "; 
    6970$sql.="FROM ax_flurstueck f "; 
    70 $sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     71$sql.="LEFT JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    7172$sql.="WHERE f.gml_id= $1"; 
    7273 
     
    8687        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    8788        $flae=number_format($row["amtlicheflaeche"],0,",",".") . " m&#178;"; 
    88 } else {echo "Fehler! Kein Treffer fuer gml_id=".$gmlid;} 
    89  
     89} else { 
     90        echo "<p class='err'>Fehler! Kein Treffer fuer gml_id=".$gmlid."</p>"; 
     91        //echo "<p class='err'>SQL=".$sql."</p>"; 
     92} 
    9093// Balken 
    9194if ($eig=="j") { 
     
    183186//                  <gehoertZu< 
    184187$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
    185 $sql.="FROM  alkis_beziehungen v "; 
    186 $sql.="JOIN  ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    187 $sql.="JOIN  ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
     188$sql.="FROM alkis_beziehungen v "; 
     189$sql.="JOIN ax_lagebezeichnungmithausnummer  l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
     190$sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    188191$sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
    189192$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    190 $sql.="AND   v.beziehungsart='weistAuf' "; 
     193$sql.="AND v.beziehungsart='weistAuf' "; 
    191194$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    192195 
     
    400403                                        $ico = "Abschnitt.ico"; break; 
    401404                        } 
     405                        // Icon ist auch im Druck sichtbar, class='noprint' ?            
    402406                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 
    403407                echo "</td>"; 
     
    452456$sql.="s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart "; 
    453457//  s.beschreibungdesumfangsderbuchung as umf,  ? 
    454 $sql.="FROM  alkis_beziehungen  v "; // Bez Flurst.- Stelle. 
    455 $sql.="JOIN  ax_buchungsstelle  s ON v.beziehung_zu=s.gml_id "; 
    456  
     458$sql.="FROM alkis_beziehungen v "; // Bez Flurst.- Stelle. 
     459$sql.="JOIN ax_buchungsstelle s ON v.beziehung_zu=s.gml_id "; 
    457460$sql.="LEFT JOIN ax_buchungsstelle_buchungsart b ON s.buchungsart = b.wert "; 
    458  
    459461$sql.="WHERE v.beziehung_von= $1 "; // id FS 
    460 $sql.="AND   v.beziehungsart= $2 "; 
     462$sql.="AND v.beziehungsart= $2 "; 
    461463$sql.="ORDER BY s.laufendenummer;"; 
    462464 
     
    469471$bs=0; // Z.Buchungsstelle 
    470472while($rows = pg_fetch_array($ress)) { 
    471         $gmls=$rows["gml_id"]; 
     473        $gmls=$rows["gml_id"]; // gml b-Stelle 
    472474        $lfd=$rows["lfd"]; // BVNR 
    473475 
     
    475477        $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 
    476478        $sql.="z.bezeichnung ";  // stelle -> amtsgericht 
    477         $sql.="FROM  alkis_beziehungen      v "; // Bez. Stelle - Blatt 
    478         $sql.="JOIN  ax_buchungsblatt      b ON v.beziehung_zu=b.gml_id "; 
    479         $sql.="JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
     479        $sql.="FROM alkis_beziehungen v "; // Bez. Stelle - Blatt 
     480        $sql.="JOIN ax_buchungsblatt b ON v.beziehung_zu=b.gml_id "; 
     481        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    480482        $sql.="WHERE v.beziehung_von= $1 "; // id Buchungsstelle 
    481         $sql.="AND   v.beziehungsart= $2 "; 
     483        $sql.="AND v.beziehungsart= $2 "; 
    482484        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    483485 
     
    486488        $resg = pg_execute("", $v); 
    487489        if (!$resg) { 
    488                 echo "\n<p class='err'>Keine Buchungsblatt.<br>\nSQL= ".$sql."</p>\n"; 
     490                echo "\n<p class='err'>Kein Buchungsblatt.<br>\nSQL= ".$sql."</p>\n"; 
    489491        } 
    490492        $bl=0; // Z.Blatt 
     
    585587        } 
    586588        if ($bl == 0) { 
    587                 echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>"; 
     589                echo "\n<p class='err'>Kein Buchungsblatt gefunden<br>\nSQL= ".$sql."</p>"; 
     590                echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>"; 
    588591                linkgml($gkz, $gmls, "Buchungstelle"); 
    589592        } 
     
    595598        $sql.="b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, "; 
    596599        $sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht 
    597         $sql.="FROM  alkis_beziehungen an "; // Bez. Stelle - Stelle 
    598         $sql.="JOIN  ax_buchungsstelle s ON an.beziehung_von = s.gml_id "; 
    599         $sql.="JOIN  alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt 
    600         $sql.="JOIN  ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id "; 
    601         $sql.="JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk "; 
    602         $sql.="JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 
     600        $sql.="FROM alkis_beziehungen an "; // Bez. Stelle - Stelle 
     601        $sql.="JOIN ax_buchungsstelle s ON an.beziehung_von = s.gml_id "; 
     602        $sql.="JOIN alkis_beziehungen v ON s.gml_id = v.beziehung_von "; // Bez. Stelle - Blatt 
     603        $sql.="JOIN ax_buchungsblatt  b ON v.beziehung_zu = b.gml_id "; 
     604        $sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land = b.land AND z.bezirk = b.bezirk "; 
     605        $sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 
    603606        $sql.="WHERE an.beziehung_zu = $1 "; // id herrschende Buchungsstelle 
    604         $sql.="AND   an.beziehungsart = 'an' "; 
    605         $sql.="AND   v.beziehungsart = 'istBestandteilVon' "; 
     607        $sql.="AND an.beziehungsart = 'an' "; 
     608        $sql.="AND v.beziehungsart = 'istBestandteilVon' "; 
    606609        $sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    607610 
  • trunk/var/www/info/alkis/alkisgebaeudenw.php

    r76 r78  
    1212                                        https://trac.wheregroup.com/PostNAS/ticket/6 
    1313        26.01.2011  Space in leere td 
     14 
     15        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1416        ToDo: lfd.Nr. der NebengebÀude alternativ zur Hausnummer anzeigen. 
    1517                Dazu aber Join auf ax_lagebezeichnungmitpseudonummer notwendig. 
     
    6264$sqlf.="g.gemarkungsnummer, g.bezeichnung "; 
    6365$sqlf.="FROM ax_flurstueck f "; 
    64 $sqlf.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     66$sqlf.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    6567$sqlf.="WHERE f.gml_id= $1;"; 
    6668 
  • trunk/var/www/info/alkis/alkisinlayausk.php

    r74 r78  
    1818        25.01.2011  F. JÀger: Adressen (Lage mit HsNr) zum FS anzeigen  
    1919                                        https://trac.wheregroup.com/PostNAS/ticket/6 
     20        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    2021 
    2122        ToDo:  Link im neuen Fenster erzwingen (Javascript?), statt _blank = tab 
     
    5556$sql.=" g.gemarkungsnummer, g.bezeichnung "; 
    5657$sql.="FROM ax_flurstueck f "; 
    57 $sql.="JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     58$sql.="LEFT JOIN ax_gemarkung  g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    5859$sql.="WHERE f.gml_id= $1;"; 
    5960// Weiter joinen: g.stelle -> ax_dienststelle "Katasteramt" 
     
    108109// Analog zu alkisfsnachw.php, Kommentare siehe dort 
    109110$sql ="SELECT DISTINCT l.gml_id, l.gemeinde, l.lage, l.hausnummer, s.bezeichnung "; 
    110 $sql.="FROM  alkis_beziehungen v "; 
    111 $sql.="JOIN  ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
    112 $sql.="JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
     111$sql.="FROM alkis_beziehungen v "; 
     112$sql.="JOIN ax_lagebezeichnungmithausnummer l ON v.beziehung_zu=l.gml_id "; // Strassennamen JOIN 
     113$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s ON l.kreis=s.kreis AND l.gemeinde=s.gemeinde "; 
    113114$sql.="AND to_char(l.lage, 'FM00000') = lpad(s.lage,5,'0') "; 
    114115$sql.="WHERE v.beziehung_von= $1 "; // id FS"; 
    115 $sql.="AND   v.beziehungsart='weistAuf' "; 
     116$sql.="AND v.beziehungsart='weistAuf' "; 
    116117$sql.="ORDER BY l.gemeinde, l.lage, l.hausnummer;"; 
    117118$v = array($gmlid); 
     
    142143$sql.="s.gml_id AS s_gml, s.buchungsart, s.laufendenummer, s.zaehler, s.nenner, "; 
    143144$sql.="z.bezeichnung, a.bezeichner AS bart ";  // stelle -> amtsgericht 
    144 $sql.="FROM  alkis_beziehungen    bfs "; // Bez Flurst.- Stelle. 
    145 $sql.="JOIN  ax_buchungsstelle      s ON bfs.beziehung_zu=s.gml_id "; 
    146 $sql.="JOIN  alkis_beziehungen    bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 
    147 $sql.="JOIN  ax_buchungsblatt       b ON bsb.beziehung_zu=b.gml_id "; 
    148 $sql.="JOIN  ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    149  
     145$sql.="FROM alkis_beziehungen bfs "; // Bez Flurst.- Stelle. 
     146$sql.="JOIN ax_buchungsstelle s ON bfs.beziehung_zu=s.gml_id "; 
     147$sql.="JOIN alkis_beziehungen bsb ON s.gml_id=bsb.beziehung_von "; // Bez. Stelle - Blatt 
     148$sql.="JOIN ax_buchungsblatt b ON bsb.beziehung_zu=b.gml_id "; 
     149$sql.="LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk "; 
    150150$sql.="LEFT JOIN ax_buchungsstelle_buchungsart a ON s.buchungsart = a.wert "; 
    151  
    152151$sql.="WHERE bfs.beziehung_von= $1 "; 
    153 $sql.="AND   bfs.beziehungsart='istGebucht' "; 
    154 $sql.="AND   bsb.beziehungsart='istBestandteilVon' "; 
     152$sql.="AND bfs.beziehungsart='istGebucht' "; 
     153$sql.="AND bsb.beziehungsart='istBestandteilVon' "; 
    155154$sql.="ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer;"; 
    156155 
  • trunk/var/www/info/alkis/alkislage.php

    r64 r78  
    1010        14.12.2010  Pfad zur Conf 
    1111        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
     12        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1213*/ 
    1314ini_set('error_reporting', 'E_ALL & ~ E_NOTICE'); 
     
    8687 
    8788// Gemeinde entschluesseln 
    88 $sql.="LEFT JOIN  ax_gemeinde g "; 
    89 $sql.="ON l.kreis=g.kreis AND l.gemeinde=g.gemeinde "; 
     89$sql.="LEFT JOIN  ax_gemeinde g ON l.kreis=g.kreis AND l.gemeinde=g.gemeinde "; 
    9090 
    9191// Strasse entschluesseln 
    92 $sql.="LEFT JOIN  ax_lagebezeichnungkatalogeintrag s "; 
     92$sql.="LEFT JOIN ax_lagebezeichnungkatalogeintrag s "; 
    9393// Besonderheit: unterschiedliche Feldformate und Fuellungen!!! 
    9494 
     
    107107        break; 
    108108} 
    109  
    110109$sql.="WHERE l.gml_id= $1;"; 
    111110 
     
    244243        $sql="SELECT g.gemarkungsnummer, g.bezeichnung, "; 
    245244        $sql.="f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.regierungsbezirk, f.kreis, f.gemeinde, f.amtlicheflaeche "; 
    246         $sql.="FROM ax_gemarkung g "; 
    247         $sql.="JOIN ax_flurstueck f ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
     245        $sql.="FROM ax_flurstueck f "; 
    248246        $sql.="JOIN alkis_beziehungen v ON f.gml_id=v.beziehung_von ";  
     247        $sql.="LEFT JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer "; 
    249248        $sql.="WHERE v.beziehung_zu= $1 "; // id Lage 
    250249        $sql.="AND v.beziehungsart= $2 "; 
  • trunk/var/www/info/alkis/alkisnamstruk.php

    r76 r78  
    1111        17.12.2010  Astrid Emde: Prepared Statements (pg_query -> pg_prepare + pg_execute) 
    1212        26.01.2011  Space in leere td 
     13        01.02.2011  *Left* Join - Fehlertoleranz bei unvollstaendigen Schluesseltabellen 
    1314        ToDo:  
    1415        Sortierung der GrundbÃŒcher zum Namen 
     
    9293        echo "\n<h3><img src='ico/Strasse_mit_Haus.ico' width='16' height='16' alt=''> Adresse</h3>\n"; 
    9394        $sql ="SELECT a.gml_id, a.ort_post, a.postleitzahlpostzustellung AS plz, a.strasse, a.hausnummer, a.bestimmungsland "; 
    94         $sql.="FROM   ax_anschrift a "; 
    95         $sql.="JOIN   alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
    96         $sql.="WHERE  b.beziehung_von= $1 "; 
    97         $sql.="AND    b.beziehungsart='hat';"; //"ORDER  BY ?;"; 
     95        $sql.="FROM ax_anschrift a "; 
     96        $sql.="JOIN alkis_beziehungen b ON a.gml_id=b.beziehung_zu "; 
     97        $sql.="WHERE b.beziehung_von= $1 "; 
     98        $sql.="AND b.beziehungsart='hat';"; //"ORDER  BY ?;"; 
    9899        //echo "\n<p class='err'>".$sql."</p>\n"; 
    99100 
     
    139140        $sql.="g.gml_id AS gml_g, g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung as nr, g.blattart, "; 
    140141        $sql.="b.bezeichnung AS beznam "; 
    141         $sql.="FROM  alkis_beziehungen bpn "; 
    142         $sql.="JOIN  ax_namensnummer   n  ON bpn.beziehung_von=n.gml_id "; 
    143         $sql.="JOIN  alkis_beziehungen bng ON n.gml_id=bng.beziehung_von "; 
    144         $sql.="JOIN  ax_buchungsblatt  g  ON bng.beziehung_zu=g.gml_id "; 
    145         $sql.="JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk "; 
     142        $sql.="FROM alkis_beziehungen bpn "; 
     143        $sql.="JOIN ax_namensnummer n ON bpn.beziehung_von=n.gml_id "; 
     144        $sql.="JOIN alkis_beziehungen bng ON n.gml_id=bng.beziehung_von "; 
     145        $sql.="JOIN ax_buchungsblatt g ON bng.beziehung_zu=g.gml_id "; 
     146        $sql.="LEFT JOIN ax_buchungsblattbezirk b ON g.land = b.land AND g.bezirk = b.bezirk "; 
    146147        $sql.="WHERE bpn.beziehung_zu= $1 "; 
    147         $sql.="AND   bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
     148        $sql.="AND bpn.beziehungsart='benennt' AND bng.beziehungsart='istBestandteilVon' "; 
    148149        $sql.="ORDER BY g.bezirk, g.buchungsblattnummermitbuchstabenerweiterung;"; 
    149150        // buchungsblatt... mal mit und mal ohne fuehrende Nullen, bringt die Sortierung durcheinander 
Note: See TracChangeset for help on using the changeset viewer.