Mattias Kregert <mattias@xxxxxxxxxx> writes: > Why does it come up with this strange plan? Because 8.1 can't reorder outer joins. To devise the plan you want, the planner has to be able to prove that it's OK to perform the IN join before the LEFT join, something that isn't always the case. 8.2 can prove this, but no existing release can. The only workaround I can think of is to do the IN in a sub-select. regards, tom lane