query syntax to combine 2 set returning functions ?

Lists: pgsql-general
From: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: query syntax to combine 2 set returning functions ?
Date: 2013-03-01 12:51:02
Message-ID: B6F6FD62F2624C4C9916AC0175D56D8801D57B@jenmbs01.ad.intershop.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

Hello,

I have 2 set returning functions:

select get_modeltablelist('foo') t

t
--
_emc_cubelist
_efm_modellist
_efm_sequences

select get_table_depends('cicpg_logs', '_efm_sequences') d

Typ Table Object
--- ----- -------
TR _efm_sequences _efm_sequences_tr

Now I want to combine both.

This is valid, but I can't find the syntax to get the results in multiple columns instaed of a singel 'record' column:

select get_table_depends('cicpg_logs', t) FROM get_modeltablelist('efeeds') t

get_table_depends
-----------------
(TR,_efm_sequences,_efm_sequences_tr)
(TR,_emr_reportlist,_emr_reportlist_tr)
(TR,_efm_models,_efm_models_del_tr)

regards,

Marc Mamin


From: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>
To: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: query syntax to combine 2 set returning functions ?
Date: 2013-03-04 07:24:35
Message-ID: B6F6FD62F2624C4C9916AC0175D56D8801D949@jenmbs01.ad.intershop.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

> I can't find the syntax to get the results in multiple columns instaed of a singel 'record' column:
> select  get_table_depends('cicpg_logs', t) FROM get_modeltablelist('efeeds') t

I got it:

select (get_table_depends('cicpg_logs', t)).* FROM get_modeltablelist('efeeds') t
^ ^

Marc

From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Marc Mamin
Sent: Freitag, 1. März 2013 13:51
To: pgsql-general(at)postgresql(dot)org
Subject: [GENERAL] query syntax to combine 2 set returning functions ?

Hello,
 
I have 2 set returning functions:
 
select get_modeltablelist('foo') t
 
t
--
_emc_cubelist
_efm_modellist
_efm_sequences
 
 
select get_table_depends('cicpg_logs', '_efm_sequences') d
 
Typ  Table            Object
---  -----            -------
TR   _efm_sequences   _efm_sequences_tr
 
 
Now I want to combine both.
 
This is valid, but I can't find the syntax to get the results in multiple columns instaed of a singel 'record' column:
 
select  get_table_depends('cicpg_logs', t) FROM get_modeltablelist('efeeds') t
 
get_table_depends
-----------------
(TR,_efm_sequences,_efm_sequences_tr)
(TR,_emr_reportlist,_emr_reportlist_tr)
(TR,_efm_models,_efm_models_del_tr)
 
 
 
regards,
 
Marc Mamin
 


From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Marc Mamin <M(dot)Mamin(at)intershop(dot)de>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: query syntax to combine 2 set returning functions ?
Date: 2013-03-04 14:11:01
Message-ID: CAHyXU0xp-u7-s+tZcFtwWcoGVwCr90k07jEKzrMNf5x_VwopvA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

On Mon, Mar 4, 2013 at 1:24 AM, Marc Mamin <M(dot)Mamin(at)intershop(dot)de> wrote:
>> I can't find the syntax to get the results in multiple columns instaed of a singel 'record' column:
>> select get_table_depends('cicpg_logs', t) FROM get_modeltablelist('efeeds') t
>
> I got it:
>
> select (get_table_depends('cicpg_logs', t)).* FROM get_modeltablelist('efeeds') t
> ^ ^

This is another query that get's simplified through 9.3 LATERAL. As
you have written the query, get_table_depends will get executed once
for each column that get_table_depends returns.

merlin