Is there any reason it has to be done in one DML statement? Can you write a procedure to this in multiple steps?
BillR
From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Davor J. Sent: February-09-10 2:02 PM To: pgsql-general@postgresql.org Subject: Re: [GENERAL] R: One column to multiple columns based on constraints?
Crosstab is indeed very interesting. Thank you for the suggestion Vincenzo.
Il giorno 8 feb, 2010 8:21 p., "Davor J." <DavorJ@live.com> ha scritto:
Let's say you have a table: CREATE TABLE t ( time date, data integer )
Suppose you want a new table that has columns similar to the following: "(x.time, x.data, y.time, y.data, z.time, z.data)" where x.time, y.time and z.time columns are constrained (for example x.time >2007 AND x.time <2008, y.time >2008 AND y.time < 2009, z.time > 2010)
How would you do this. Note that you can not use JOIN as there is no relationship.
Currently I came up with something like this:
SELECT X.*, (SELECT Y.time, Y.data FROM t AS Y WHERE Y.time = X.time + 1), (SELECT Z.time .) FROM t AS X WHERE X.time >2007 AND X.time <2008
But it's somewhat awkward. I thought maybe someone has better idea's. Any input is welcome.