joining profile types using views module
Currently it's creating a join for each relationship (each profile type) that's why you see several rows. Question is what would happen if a user has several profile types (can they have that)?

You might get by with putting Distinct on your query.

In Views, fold out Advanced and look for Query settings under Other. Choose settings and check Distinct. Hit save.