| От | Heikki Linnakangas |
|---|---|
| Тема | Re: BUG #5122: Subqueries - inner select statement bug |
| Дата | |
| Msg-id | 4AD87A02.2000406@enterprisedb.com обсуждение исходный текст |
| Ответ на | BUG #5122: Subqueries - inner select statement bug ("Muris Pucic" <trax@multicom.ba>) |
| Список | pgsql-bugs |
Muris Pucic wrote: > -- The query below works, even though there is no column "first_name" in > TABLE2. This should return an error but it does not, it returns all rows > from TABLE1. This query should not evaluate correctly even when aliases are > not used because it can be misleading. > > SELECT * FROM TABLE1 WHERE first_name IN (SELECT first_name FROM TABLE2) Nope, it's working as expected. The first_name in the subquery is referring to the first_name column in the outer query. While it looks strange in a context like that, it's not an error. You wouldn't be able to write correlated subqueries otherwise, e.g: SELECT * FROM TABLE1 WHERE EXISTS (SELECT 1 FROM TABLE2 WHERE first_name = last_name) -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера