the_geom-Abfrage in Mapfile über zwei Tabellen

Hallo zusammen,

ich habe folgendes Problem. In der Datenbank sind zwei Tabellen. Tabelle 1 ist ein Extrakt aus Tabelle 2 mit dem Unterschied, dass Tabelle 1 keine Geometrien enthält. In der Datenbank kann ich folgendes erfolgreich abfragen, so dass mir die entsprechenden Geometriespalten angezeigt werden.

SELECT tabelle_02.the_geom AS flaechen,tabelle_02.gid AS gid,tabelle_01.gid AS gid,tabelle_01.name FROM tabelle_02,tabelle_01 WHERE tabelle_02.gid=tabelle_01.gid

Jetzt brauche ich das ganze im Mapfile für die DATA-Zeile eines Polygonlayers.

nachfolgendes funktioniert leider nicht.
(SRID ist richtig, oid statt gid am Ende klappt auch nicht.)

DATA “flaechen FROM (SELECT tabelle_02.the_geom AS flaechen,tabelle_02.gid AS gid,tabelle_01.gid AS gid,tabelle_01.name_de FROM tabelle_02,tabelle_01 WHERE tabelle_02.gid=tabelle_01.gid) AS foo USING UNIQUE gid USING SRID=4326”

Hat jemand eine Idee?

Viele Grüße,
Christian

Vielleicht gehört das Select-Statement noch in Hochkommas, der Mapserver erwartet dort sonst einen Tabellennamen. Bin da im Mapfile aber nicht so bewandert.

CU Uwe

Hallo Uwe,

danke für die Antwort. An Anführungszeichen liegt es nicht, da ich eine ähnliche (erfolgreiche) Abfrage über zwei Tabellen mit Punktgeometrien mache. Ich habe mir das Mapfile noch einmal weiter angesehen und gemerkt, dass der Fehler ganz woanders liegen kann. Die Abfrage an sich klappt ja z.B. in phpPgAdmin.

In der Layerdefinition habe ich noch weitere Zeilen u.a.

EXPRESSION ( [wert] <= 4.6)
NAME ‘sehr niedrig <= 4.6’

Die Spalte “wert” befindet sich nun aber nicht mehr in der Tabelle, die die Geometrien liefern soll und muss daher wohl mit in die Abfrage (…tabelle_01.wert AS wert…). Das ganze Problem ist also wahrscheinlich gar kein PostgreSQL-bezogenes sondern gehört wohl eher in ein MapServer-Forum Rubrik Mapfile/PostgreSQL.

Falls ich die Lösung finden sollte werde ich sie hier aber trotzdem kurz beschreiben.

Viele Grüße,
Christian