From: | Merlin Moncure <mmoncure(at)gmail(dot)com> |
---|---|
To: | Alessandro Baggi <alessandro(dot)baggi(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: postgresql how to duplicate rows in result. |
Date: | 2017-02-14 20:51:41 |
Message-ID: | CAHyXU0zhO8jWSCtbaHB=YnE0pZHL65MS1+zq92DGXbQ+xo2qCg@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Feb 14, 2017 at 12:36 PM, Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
> On Tue, Feb 14, 2017 at 12:04 PM, Alessandro Baggi
> <alessandro(dot)baggi(at)gmail(dot)com> wrote:
>> Hi list,
>> sorry for my english, I will try to example as well. I've a query that joins
>> multiple tables and return a result like:
>>
>> id,customers,phone,code,number
>> 1 , aaaaaaaa,33333,123 , 2
>> 2 , aassdsds,33322,211 , 1
>> 3 , oooooooo,21221,221 , 1
>>
>>
>> I need, where "number" field is > 1, to duplicate the row * N(number field
>> value) with a result like this:
>>
>> id,customers,phone,code,number
>> 1 , aaaaaaaa,33333,123 , 2
>> 1 , aaaaaaaa,33333,123 , 2
>> 2 , aassdsds,33322,211 , 1
>> 3 , oooooooo,21221,221 , 1
>>
>> How I can accomplish to this problem?
>
> SELECT * FROM foo CROSS JOIN LATERAL (1,number);
>
> :-D
oops -- copy/paste error
SELECT * FROM foo CROSS JOIN LATERAL generate_series(1,number);
merlin
From | Date | Subject | |
---|---|---|---|
Next Message | John McKown | 2017-02-14 20:58:38 | Re: postgresql how to duplicate rows in result. |
Previous Message | Merlin Moncure | 2017-02-14 20:50:17 | Re: postgresql how to duplicate rows in result. |