Is there any way this query could be written that doesnt scan the subquery table twice? SELECT * FROM my_table WHERE (one,two) NOT IN (SELECT sub_one, sub_two FROM my_sub_table) AND (two,one) NOT IN (SELECT sub_one, sub_two FROM my_sub_table) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general