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

Started by Bruce Momjianabout 22 years ago2 messagesgeneral
Jump to latest
#1Bruce Momjian
bruce@momjian.us

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bruce Momjian (#1)
Re: A way to refer to the "outer" query implicitly?

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