• hi there,

    maybe this little trick helps:

    I personally understood this behaviour of outer joins quite a time ago when it was explained to me as follows (yes I know, very simplified...):

    there is a logical order of processing the a query. At some time the outer join with its ON-clause is processed, first as an inner join, then adding the outer rows and also the NULL-values on the missing inner rows. Some time after that the WHERE-clause is processed maybe "removing" null-values.

    Since I'm saying to myself "first the ON is processed, after that the WHERE is processed" it's no problem for me any more writing my outer joins in a way they are doing what I expect.