Ignore:
Timestamp:
02/01/11 18:54:45 (13 years ago)
Author:
frank.jaeger
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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"]); 
Note: See TracChangeset for help on using the changeset viewer.