Could it be that the duplicate data is coming from your insert? Not the data that already exists in the table, but that which you are trying to insert. Look at just the select and see if the columns which comprise the index in the table which is being inserted into, are duplicated. I hope that this helps. Thanks.
Chris