From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | Theo Galanakis <Theo(dot)Galanakis(at)lonelyplanet(dot)com(dot)au> |
Cc: | "'pgsql-sql(at)postgresql(dot)org'" <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: CROSS-TAB query help? I have read it cant be done in one |
Date: | 2004-08-16 08:06:08 |
Message-ID: | 41206AF0.7020001@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Theo Galanakis wrote:
> Does anyone know how to perform a cross-tab query in ONE SQL without having
> to write a SP? The SQL at the end of this email attempts to display the
> subquery result-set in a cross-tab format, it does not group the content
> onto one row as it should in the sample below. SQL is below if it makes any
> sense, however the sub-query returns data as below.
>
> Examle:
>
> Name Value
> ID 1
> Cola 10
> Colb 20
> Colc 30
> Cold 40
> Cole 50
>
> I want to output as:
>
> ID, cola, colb, colb, cold, cole
> 1 10 30 30 40 50
> Actual Output:
>
> content_object_id | xpos | ypos | text | textangle | texttype
> | symbol | linktype
> -------------------+------+------+-------------------+-----------+----------
> 100473 | 93 | | | |
> 100473 | | 77 | | |
> 100473 | | | text1 | |
Don't forget the provided crosstab functions (in contrib/). If you don't
want that, you could aggregate your results:
SELECT content_object_id, MAX(xpos), MAX(ypos), ...
FROM (
<your query here>
) AS raw
GROUP BY content_object_id;
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | George Weaver | 2004-08-16 12:40:04 | Re: Returning A Varchar From A Function |
Previous Message | Richard Huxton | 2004-08-16 08:01:31 | Re: duplicate table in two databases |