Re: transposing data for a view

From: "James Orr" <james(at)lrgmail(dot)com>
To: "H Jeremy Bockholt" <jeremy(at)wundt(dot)psychiatry(dot)uiowa(dot)edu>, <pgsql-sql(at)postgresql(dot)org>
Subject: Re: transposing data for a view
Date: 2001-10-31 19:59:02
Message-ID: 000e01c16246$7f1b1a80$1600000a@lrg.office
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


----- Original Message -----
From: "H Jeremy Bockholt" <jeremy(at)wundt(dot)psychiatry(dot)uiowa(dot)edu>
To: <pgsql-sql(at)postgresql(dot)org>
Sent: Tuesday, October 30, 2001 7:36 PM
Subject: [SQL] transposing data for a view

> I have a generalized table:
>
> scanid | region | volume
> -------------------------
> 1 A 34.4
> 1 B 32.1
> 1 C 29.1
> 2 A 32.4
> 2 B 33.2
> 2 C 35.6
> .
> .
> .
>
> I want to create a flattened out view that looks like the following:
>
> scanid | A_volume | B_volume | C_volume
> ----------------------------------------
> 1 34.4 32.1 29.1
> 2 32.4 33.2 35.6
> .
> .
> .
>
> How do I correctly/efficiently construct a psql query to
> pivot/transpose the data? I am using postgreSQL version 7.0.x

SELECT
A.scanid,
A.volume AS A_volume,
B.volume AS B_volume,
C.volume AS C_volume
FROM
table A JOIN
table B ON (A.scanid = B.scanid) JOIN
table C ON (B.scanid = C.scanid)
WHERE
A.region = 'A' AND
B.region = 'B' AND
C.region = 'C'

- James

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Roberto Mello 2001-10-31 20:15:18 Re: Primary key with oid + name : error, which solution ?
Previous Message H Jeremy Bockholt 2001-10-31 18:27:47 Re: transposing data for a view