It sounds like the query is not correct. You should query against the base tables and not the view. I expect you are joining the view to some number of tables and returning one or more rows from the child tables resulting in the views rows being returned multiple times. Use Right and Left joins and check join conditions.
You should be able to use DTS to bring records drectly from the CACHE database to SQL Server. I did not see you mention that in your post. This is probably the easiest way to import and export data.
I would be more than willing to look at your query.