For my enlightenment, why use LATERAL here? I get the same result with a
simple CROSS JOIN (though overall I like the clever solution).

Cheers,
Steve


On Thu, Feb 16, 2017 at 12:11 AM, Alessandro Baggi <
alessandro.ba...@gmail.com> wrote:

> Il 15/02/2017 19:11, Alessandro Baggi ha scritto:
>
>> Il 14/02/2017 21:51, Merlin Moncure ha scritto:
>>
>>> On Tue, Feb 14, 2017 at 12:36 PM, Merlin Moncure <mmonc...@gmail.com>
>>> wrote:
>>>
>>>> On Tue, Feb 14, 2017 at 12:04 PM, Alessandro Baggi
>>>> <alessandro.ba...@gmail.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
>>> .
>>>
>>> Hi Merlin,
>> I've tried your suggested code and with cross join and generate_series I
>> can generate multiple row. There is a way to put as second args a column
>> values? I've tried to put "table.number" column values but I got
>> "generate_series() does not exists". Inserting a simple int like 5 I get
>> 5 results for each row.
>>
>> I've searched on google but can't find a valid example.
>>
>>
>>
>> Thanks in advance.
>>
>>
>> Hi Merlin,
> I've solved my problem (passing column as number) using a cast
> generate_series(1,table.number::int)
>
> thanks to all for answart.
>
> SOLVED
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to