Обсуждение: Weird behaviour with subquery

Поиск
Список
Период
Сортировка

Weird behaviour with subquery

От
Christopher Kings-Lynne
Дата:
What's going on here:

usa=> select user_id from users_users where joindate >= '2004-03-09';
ERROR:  column "user_id" does not exist

usa=> select * from shop_orders where user_id in (select user_id from 
users_users where joindate >= '2004-03-09');
[waits and waits and waits...have to cancel]
^CCancel request sent
ERROR:  canceling query due to user request

How come using a field that doesn't exist in the subquery actually works 
and doesn't cause a syntax error?

Chris



Re: Weird behaviour with subquery

От
Christopher Kings-Lynne
Дата:
Doh - I think I understand now why this is normal behavior - sorry!

Chris

Christopher Kings-Lynne wrote:

> What's going on here:
> 
> usa=> select user_id from users_users where joindate >= '2004-03-09';
> ERROR:  column "user_id" does not exist
> 
> usa=> select * from shop_orders where user_id in (select user_id from 
> users_users where joindate >= '2004-03-09');
> [waits and waits and waits...have to cancel]
> ^CCancel request sent
> ERROR:  canceling query due to user request
> 
> How come using a field that doesn't exist in the subquery actually works 
> and doesn't cause a syntax error?
> 
> Chris
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>      joining column's datatypes do not match