Re: Transpose rows to columns

From: Michael Glaesemann <grzm(at)myrealbox(dot)com>
To: "David Witham" <davidw(at)unidial(dot)com(dot)au>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Transpose rows to columns
Date: 2004-01-13 03:50:54
Message-ID: B032D732-457B-11D8-B881-000A95C88220@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi David
On Jan 13, 2004, at 10:12 AM, David Witham wrote:

> Hi,
>
> I have a query that returns data like this:
>
> cust_id cust_name month cost revenue margin
> 991234 ABC 2003-07-01 10 15 5
> 991234 ABC 2003-08-01 11 17 6
> 991234 ABC 2003-09-01 12 19 7
> 991235 XYZ 2003-07-01 13 21 8
> 991235 XYZ 2003-08-01 12 19 7
> 991235 XYZ 2003-09-01 11 17 6
>
> I want to turn it around so it displays like this:
>
> 991234,ABC,2003-07-01,10,15,5,2003-08-01,11,17,6,2003-09-01,12,19,7
> 991235,XYZ,2003-07-01,13,21,8,2003-08-01,12,19,7,2003-09-01,11,17,6
>
> (I've used commas to shorten the layout for the example)
>
> Does anyone have some ideas on how to do this?

I'd suggest looking at tablefunc in /contrib. It includes crosstab
functionality that you might find useful. I don't think it'll do
exactly what you describe here, but something quite similar.

Michael Glaesemann
grzm myrealbox com

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Benoît BOURNON 2004-01-13 08:26:52 Re: Triggers
Previous Message David Witham 2004-01-13 01:12:52 Transpose rows to columns