Re: Zusammenfassung mehrerer boolean Spalten
Thomas Markus <[email protected]> Wed, 18 Nov 2015 17:01:27 +0100
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Organization | proventis GmbH |
| Message-ID | <[email protected]> |
Hi Gunnar,
du müsstest die Funktionen mehrfach aufrufen oder ne Subquery benutzen.
Das Beispiel sollte anpassbar sein:
select
a,b,c,d
, a::int + b::int + c::int + d::int as count
, array_to_string(ARRAY[ case when a then 'a' end, case when b then
'b' end, case when c then 'c' end, case when d then 'd' end ],',')
from
(values(false, true, true, false)) as x(a,b,c,d)
Gruss
Thomas
Am 18.11.2015 um 16:32 schrieb Gunnar Oehmichen:
> Hallo,
>
> 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.
>
> Vielen Dank für die Hilfe,
>
--
Sent via pgsql-de-allgemein mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein