Thread: A way to refer to the "outer" query implicitly?

A way to refer to the "outer" query implicitly?

From
Greg Stark
Date:
My code constructs some queries by passing in constraint clauses like
 type = 'A'

However one of the constraint clauses is
 exists (select 1 from othertable where x = outertable.x)

This works fine, but requires that the caller know that the table being
queried will be "outertable". Is there any way in a subquery used like this to
implicitly reference fields from the outer query?

--
greg

Re: A way to refer to the "outer" query implicitly?

From
Tom Lane
Date:
Greg Stark <gsstark@mit.edu> writes:
> However one of the constraint clauses is
>  exists (select 1 from othertable where x = outertable.x)
> This works fine, but requires that the caller know that the table being
> queried will be "outertable". Is there any way in a subquery used like this to
> implicitly reference fields from the outer query?

If the column name does not belong to any of the tables of the inner
query then it will automatically be sought in the outer query.  If you
are dealing with a name that does appear at both levels, you're outta
luck ... got to qualify it.

            regards, tom lane