Drupal 7 and views: Get results from two content types and their own individual terms
Your problem is that your query is using INNER JOINs but you need to be using LEFT JOINS.

As you found in the thread I linked to the easiest solution is to edit your filter criteria and check the reduce duplicates checkbox.