Re: Split the result of a query in 2 rows

From: Frank Pinto <frank(at)ayalo(dot)co>
To: JORGE MALDONADO <jorgemal1960(at)gmail(dot)com>
Cc: PGSQL-Novice <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Split the result of a query in 2 rows
Date: 2015-03-04 18:53:03
Message-ID: CAATpuJqEgOET3CrrpJ7iRzMphoh-WK3N80jPaoF=96d7AMSb7Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

So:
If the original result set returned 1 row with 2 columns the new solution
would return 2 rows with 1 column?
If the original result set returned 100 row with 3 columns the new solution
would return 300 rows (1 row gets turned into 3 rows * 100 rows = 300)?

I would use unnest
<http://blog.lerner.co.il/turning-postgresql-arrays-rows-unnest/>.
Something like this (untested):

WITH temp_table AS (
SELECT ARRAY(SELECT field1, field2 FROM tbl_table ORDER BY field1) AS
prepared_fields;
)
SELECT UNNEST(prepared_fields) FROM temp_table;

Note that's using one query using a CTE (
http://www.postgresql.org/docs/9.3/static/queries-with.html)

Frank

On Wed, Mar 4, 2015 at 12:28 PM, JORGE MALDONADO <jorgemal1960(at)gmail(dot)com>
wrote:

> I have a very simple query to a single table as follows:
>
> SELECT field1, field2 FROM tbl_table ORDER BY field1
>
> Is it possible to "split" the results so field1 is displayed in one row
> and field2 in another row?
>
> Best regards,
> Jorge Maldonado
>

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message David G Johnston 2015-03-04 18:56:14 Re: Split the result of a query in 2 rows
Previous Message Yaser Raja 2015-03-04 18:49:57 Re: Split the result of a query in 2 rows