Re: function to return rows as columns?

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: function to return rows as columns?
Date: 2009-02-27 10:56:26
Message-ID: go8gsq$8b7$1@ger.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Linos, 27.02.2009 11:41:
> Hello,
> i have a query that returns a result set like this:
>
> item | size | stock
> 123 | XL | 10
> 123 | XXL | 5
> 123 | XS | 3
>
> and i would like get the results like this:
>
> item | XL | XXL | XS
> 123 | 10 | 5 | 3
>
> i have been thinking how to do it with a plpgsql function but the number
> of sizes depend on the item that it is queried so i can not create a
> type and return it, i could create it like a text concatenating the
> stock and size of every row and returning the complete line text but i
> would have to process it in the application anyway so i am searching a
> solution that lets me return it like a record.
>
> I have been searching the list and maybe i could create the record type
> inside the function and to get the correct names and number of columns
> in the application side launching a query to get the number of sizes
> before call the function to specify the columns in the function call but
> maybe i am missing anything important here? any better (or more correct)
> way to do this? Thanks.

Check out the "crosstab" function in the "Tablefunc" module:

http://www.postgresql.org/docs/current/static/tablefunc.html

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Zeugswetter Andreas OSB sIT 2009-02-27 11:15:57 RE: [HACKERS] RE: [HACKERS] Kerberos V5 required for PostgreSQL installation on Windows
Previous Message Linos 2009-02-27 10:41:56 function to return rows as columns?