Craig James <cjames@emolecules.com> writes:
> Hmmm.... the subselect is invalid, but not rejected. The outer select
> returns every row in the customer_order_matches table. This seems pretty
> wrong. This is PG 9.2.1 running on Ubuntu.
> db=> select count(1) from customer_order_matches where
> customer_order_item_id in (select customer_order_item_id from
> customer_order where customer_order_id = 105862140);
> count
> -------
> 36180
> (1 row)
Unfortunately, if customer_order_item_id doesn't exist in
customer_order, that's still a perfectly valid outer reference
to customer_order_matches.customer_order_item_id. People get
confused by that kind of thing regularly, but it's required by
spec to work like this.
regards, tom lane