From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | Stefan Schwarzer <stefan(dot)schwarzer(at)unep(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Problem with Crosstab (Concatenate Problem) |
Date: | 2010-11-01 14:36:11 |
Message-ID: | 4CCED05B.6010707@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 11/01/2010 06:24 AM, Stefan Schwarzer wrote:
> I need to convert the integer values for the years into column names, i.e. "1965" into "y_1965". How do I achieve this then?
Try something like:
create table foo (
name text,
year_start int,
value float8);
insert into foo values('a',2010,1.23),('b',2011,2.34);
SELECT * FROM
crosstab(
'SELECT name, year_start, value FROM foo ORDER BY 1',
'SELECT DISTINCT year_start FROM foo'
)
AS ct(name varchar, y_2010 float8, y_2011 float8);
name | y_2010 | y_2011
------+--------+--------
a | | 1.23
b | 2.34 |
(2 rows)
HTH,
Joe
--
Joe Conway
credativ LLC: http://www.credativ.us
Linux, PostgreSQL, and general Open Source
Training, Service, Consulting, & 24x7 Support
From | Date | Subject | |
---|---|---|---|
Next Message | zhong ming wu | 2010-11-01 15:54:25 | Is this a known feature of 8.1 SSL connection? |
Previous Message | Andy Colson | 2010-11-01 14:33:39 | Re: async queries in Perl and poll()/select() loop - how to make them work together? |