Craig James <cjames@xxxxxxxxxxxxxx> 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 -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin