>>>>> "Tom" == Tom Lane <t...@sss.pgh.pa.us> writes:
Someone mentioned LATERAL? >> Tom Lane <t...@sss.pgh.pa.us> writes: >>> Hm, how would you do it with LATERAL? The problem is not so much >>> composition as 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, but Tom> what that looks like to me is that each p1 will be separately Tom> filtered by each p2, giving rise to a distinct element in the Tom> output. What we need is for each p1 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) -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers