----- Original Message ----- 
From: "H Jeremy Bockholt" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
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


---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to