----- Original Message -----
From: "H Jeremy Bockholt" <jeremy@wundt.psychiatry.uiowa.edu>
To: <pgsql-sql@postgresql.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