Since you're joining the two tables you will get as many rows in the result set how many rows satisfy the join condition. In other words, if one record has two attachments, two rows are returned.-
The rows aren't duplicates. If you have a look at the columns coming from attachment table you see that the contain the values from both rows.
Have a look at
Visual Representation of SQL Joins[
^]