table returning function for each row in other resultset

From: Niels Jespersen <NJN(at)dst(dot)dk>
To: "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: table returning function for each row in other resultset
Date: 2021-02-03 15:01:07
Message-ID: e87c1245eeaa4c4e872148e6762292c9@dst.dk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello all

I have som data in a resultset. E.g:

id date_begin date_end amount
1 2021-01-04 2021-02-06 100
2 2021-03-17 2021-05-11 234

I have a table returning function that can take one row and split it into constituent monthpieces and distribute amount proportionally.

select * from func(1, 2021-01-04, 2021-02-06, 100);

returns

1,2021-01-04,2021-01-31,84.848485
1,2021-02-01,2021-02-06,18.181818

So far, so good.

Now, what I want is to run the function on the resultset from above and get

1,2021-01-04,2021-01-31,84.848485
1,2021-02-01,2021-02-06,18.181818
2,2021-03-17,2021-03-31,63.818182
2,2021-04-01,2021-04-30,127.636364
2,2021-05-01,2021-05-11,46.8

How can I accomplish this, please.

Regards Niels Jespersen

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2021-02-03 15:07:38 Re: table returning function for each row in other resultset
Previous Message Ulrich Goebel 2021-02-03 10:38:35 Re: UPDATE Syntax - solved