This is something that I found out the hard way. Qlik applies the DISTINCT keyword on the resulting dataset. So, when you join distinct table, you are not joining the distinct table to the other table. You are doing the join and then returning the distinct records from the resulting join.
Take this example:
You might expect:
However, what you actually get is:
If you want to achieve the first result. You will need to do something like this: