Re: Joins involving functions
От | Markus Schaber |
---|---|
Тема | Re: Joins involving functions |
Дата | |
Msg-id | 443B9624.2020503@logix-tt.com обсуждение исходный текст |
Ответ на | Joins involving functions (Jeff Boes <jeff@endpoint.com>) |
Список | pgsql-sql |
Hi, Jeff Boes, Jeff Boes wrote: > select * from bar > cross join f_foo(bar.b) as foo; > > Unfortunately, this last statement returns an error: > > NOTICE: adding missing FROM-clause entry for table "bar" > ERROR: function expression in FROM may not refer to other relations of > same query level > > Is there a method for joining function calls to tables? The only other > approach I can think of is to write another function that returns "setof". I don't exactly know what you want to achieve, so I'm just wildly guessing. Do you really want the cross join between bar.* and f_foo(bar.b)? If yes, use SELECT x.b, y.b FROM bar x CROSS JOIN bar y; If not, you maybe want SELECT b, f_foo(b) FROM bar; Or it may be you want something like: SELECT * from bar CROSS JOIN (SELECT f_foo(bar.b) from bar) as foo ; HTH, Markus -- Markus Schaber | Logical Tracking&Tracing International AG Dipl. Inf. | Software Development GIS Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org
В списке pgsql-sql по дате отправления: