Re: Zusammenfassung mehrerer boolean Spalten

"Gunnar \"Nick\" Bluth" <[email protected]> Wed, 18 Nov 2015 16:42:44 +0100
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
Am 18.11.2015 um 16:32 schrieb Gunnar Oehmichen:
> Hallo,

Hallo, Namensvetter!

> Folgendes Problem:
> 
> Ich habe zwei räumliche Tabellen (PostGIS) Kat und Geb.
> Ich teste mit unterschiedlichen PostGIS Funktionen ob sich die einzelnen
> Geometrien (Multipolygone) der beiden Tabellen überschneiden/überlagern
> etc (also ob diese Flächen miteinander Teilen):
> 
> zB:
> 
> SELECT Kat.id AS kat_id, Geb.id AS geb_id,
> 
> ST_Intersects (Kat.geom, Geb.geom) AS Kat_inters_Geb,
> ST_Contains (Kat.geom, Geb.geom) AS Kat_contains_Geb,
> ST_Within (Kat.geom, Geb.geom) AS Kat_in_Geb
> 
> FROM Kat CROSS JOIN Geb;
> 
> Alle drei (und weitere nicht gezeigte) ST_ Funktionen haben einen
> boolean Output.
> 
>   kat_id geb_id kat_inters_geb kat_contains_geb kat_in_geb
> 1 130294   3214          FALSE            FALSE      FALSE
> 2 130294   3215          FALSE            FALSE      FALSE
> 3 130294   3216          FALSE            FALSE      FALSE
> 
> Ich würde gerne in der gleichen Abfrage mir eine Spalte ausgeben lassen,
> welche bezeichnet ob überhaupt in einer Reihe einer der Vergleiche TRUE
> ist (oder wie viele TRUE sind).
> Außerdem, wenn möglich eine Spalte welche die Spalte(n) bezeichnet
> welche TRUE ist/sind.
> 
> Ist dies möglich? Es dürfte sicherlich keine Rolle spielen, dass ich
> hier spezielle PostGIS Funktionen nutze, sondern der Output müsste
> entscheidend sein.

Was du suchst ist wohl
  GREATEST(kat_inters_geb, kat_contains,_geb kat_in_geb)

(das Gegenstück ist LEAST)

Gruß,
-- 
Gunnar "Nick" Bluth
DBA ELSTER

Tel:   +49 911/991-4665
Mobil: +49 172/8853339


-- 
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein