Re: passing multiple records to json_populate_recordset

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: passing multiple records to json_populate_recordset
Дата
Msg-id CAHyXU0z15qdbyrZgXQ_e0LA1JsNMvqoZtiV6Uh+PNHsnswMFrg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: passing multiple records to json_populate_recordset  (Raphael Bauduin <rblists@gmail.com>)
Ответы Re: passing multiple records to json_populate_recordset  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-general
On Mon, Sep 23, 2013 at 8:25 AM, Raphael Bauduin <rblists@gmail.com> wrote:
>
>
> On Mon, Sep 23, 2013 at 11:31 AM, Raphael Bauduin <rblists@gmail.com> wrote:
>>
>> Hi,
>>
>> I'm experimenting with the json data type and functions in 9.3.
>> I'm storing json objects of this form in the event column:
>> {type: 'event_type, products : [ {id:45, 'type': 3, 'gender':'F',..}, ...,
>> {....} ] }
>>
>> I can issue this query, but notice the limit 1:
>>
>> select * from json_populate_recordset(null::product, (select
>> event->'products' from events limit 1));
>>
>> The result is (edited for conciseness):
>>
>>
>>  type | gender |  id
>> ------+--------+-------
>>    41 | F      | 40003
>>    41 | F      | 60043
>>    41 | F      | 27363
>>    41 | F      | 27373
>>    41 | F      | 28563
>>
>> But all these products come from one event.
>> Is there a way to return the products from several events?, eg with a
>> limit 2 rather than limit 1?
>>
>
> Some more info, after searching further.
>
> This query
>
>   select
> json_populate_record(null::product,row_to_json(json_populate_recordset(null::product,event->'products')))
> from (select * from events limit 2) as foo ;
>
> returns what I want but not in the format I want (why?):

you need to use LATERAL.

here's a summary of the technique (see lateral version -- you don't
need to use recursion).

http://www.reddit.com/r/PostgreSQL/comments/1hwu8i/postgresql_recursive_common_table_expression_and/caywoxw

melrin


В списке pgsql-general по дате отправления:

Предыдущее
От: Raphael Bauduin
Дата:
Сообщение: Re: passing multiple records to json_populate_recordset
Следующее
От: "Andrus"
Дата:
Сообщение: Query runs forever after upgrading to 9.3