Re: filtering after join
От | Alban Hertroys |
---|---|
Тема | Re: filtering after join |
Дата | |
Msg-id | 43D89EDB.3000405@magproductions.nl обсуждение исходный текст |
Ответ на | filtering after join (andrew <andrew.ylzhou@gmail.com>) |
Список | pgsql-general |
andrew wrote: > I want to use a UDF to filter tuples t that are generated after a join. > More specifially, I have a UDF foo(record), which computes a value for > a given tuple. I can do the filtering before the join. e.g.: > > select * from A, B where foo(A)<2 and A.a=B.b; I suppose you mean where foo(A.a) < 2? I've never seen SP's being applied to entire tables, especially inside a where clause. Next to that, the planner can't do much in this case (according to a thread here from this week), so you're likely to be stuck with sequential scans. > But I want to apply foo() to the tuples generated by the join > operation. How can I do that? You should be able to use something like (rewrote your join as well): select foo(some_column) from A left join b on (A.a=B.b) where A.a < 2; If that's not what you mean to do, could you be a bit clearer as to what you're trying to achieve? -- Alban Hertroys alban@magproductions.nl magproductions b.v. T: ++31(0)534346874 F: ++31(0)534346876 M: I: www.magproductions.nl A: Postbus 416 7500 AK Enschede //Showing your Vision to the World//
В списке pgsql-general по дате отправления: