From: "Tom Lane" <tgl@sss.pgh.pa.us>
> Mattias Kregert <mattias@kregert.se> 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
>
Thanks!
I'll try some subselect solution for now, and make a note to change it when
8.2 is out.
/* m */