Re: Range types
От | Andrew Gierth |
---|---|
Тема | Re: Range types |
Дата | |
Msg-id | 87my1hlizp.fsf@news-spur.riddles.org.uk обсуждение исходный текст |
Ответ на | Re: Range types (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
>>>>> "Tom" == Tom Lane <tgl@sss.pgh.pa.us> writes: Someone mentioned LATERAL? >> Tom Lane <tgl@sss.pgh.pa.us> writes:>>> Hm, how would you do it with LATERAL? The problem is not so much>>> compositionas the need for a variable number of rounds of>>> composition. >> Let's have a try at it: >> select p2_member, array_accum(p1)>> from unnest(p2) as p2_member>> lateral (select period_except(p1_member, p2_member)>>from unnest(p1) p1_member) as x(p1); Tom> I don't think that does it. Maybe I misunderstand LATERAL, butTom> what that looks like to me is that each p1 willbe separatelyTom> filtered by each p2, giving rise to a distinct element in theTom> output. What we need is for eachp1 to be filtered by *all*Tom> p2's, successively (though in any order). Right, that's not a job for LATERAL, though it could be done easily enough in one statement with a recursive CTE, I think. -- Andrew (irc:RhodiumToad)
В списке pgsql-hackers по дате отправления: