Re: [HACKERS] what standard say ...
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] what standard say ... |
Дата | |
Msg-id | 199802061623.LAA08918@candle.pha.pa.us обсуждение исходный текст |
Ответ на | what standard say ... ("Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>) |
Список | pgsql-hackers |
> > vac=> \d test > > Table = test > +----------------------------------+----------------------------------+-------+ > | Field | Type | Length| > +----------------------------------+----------------------------------+-------+ > | x | int4 | 4 | > | y | int4 | 4 | > +----------------------------------+----------------------------------+-------+ > vac=> select count(*) from test where exists (select t1.y from test t1 where t1.y = x); > ^ > Is this correlated subquery or not ? > (Note, that I don't use x with t1. prefix here) > With current parser this works as un-correlated subquery... > Is this Ok and I have to re-write query as > > vac=> select count(*) from test t2 where exists > ^^ > (select t1.y from test t1 where t1.y = t2.x); > ^^^ > to get correlated one ? > > Vadim > > I am almost sure this is uncorrelated. If an unqualified varaiable appears in a subquery, it matches the closest table it can find. I am not sure about the standard, but logic would suggest this is the way it should work. And, of course, that is what the parser does. -- Bruce Momjian maillist@candle.pha.pa.us
В списке pgsql-hackers по дате отправления: