Re: Kreuztabelle?

From: Andreas Kretschmer <andreas_kretschmer(at)despammed(dot)com>
To: pgsql-de-allgemein(at)postgresql(dot)org, pgusers(at)postgres(dot)de
Subject: Re: Kreuztabelle?
Date: 2004-11-10 17:47:41
Message-ID: 20041110174741.GA4264@kaufbach.delug.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

am Wed, dem 10.11.2004, um 16:33:05 +0100 mailte Markus Bertheau folgendes:
> Schau dir contrib/tablefunc an und pass es an deine Bedürfnisse an.

Danke, das sieht schon nicht so schlecht aus, stimmt aber noch nicht:

test_db=# select id1, id2, sum(wert) from cross_tab group by id1, id2 order by id1, id2;
id1 | id2 | sum
-----+-----+-----
1 | 1 | 30
1 | 4 | 20
2 | 1 | 10
2 | 4 | 22
3 | 1 | 13
3 | 2 | 32
3 | 3 | 33
(7 Zeilen)

test_db=# select * from crosstab ('select id1, id2, sum(wert) from cross_tab group by id1, id2 order by id1, id2;', 4) as ct(id1 int, cat1 float, cat2 float, cat3 float, cat4 float);
id1 | cat1 | cat2 | cat3 | cat4
-----+------+------+------+------
1 | 30 | 20 | |
2 | 10 | 22 | |
3 | 13 | 32 | 33 |
(3 Zeilen)

Das ist aber leider falsch, richtig wäre:
(händisch gemacht)

id1 | cat1 | cat2 | cat3 | cat4
-----+------+------+------+------
1 | 30 | | | 20
2 | 10 | | | 22
3 | 13 | 32 | 33 |

Wo steckt mein Fehler?

Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Kretschmer 2004-11-11 08:28:42 Re: Kreuztabelle?
Previous Message Markus Bertheau 2004-11-10 15:33:05 Re: Kreuztabelle?