If I understood you right...could you join to the same table a multiple times to get the different information...something like this...
You would join to the Fees table on the client, but each time only join for the Fee type you are looking for.
Not the best performing query...but...
select * from clienttbl
left outer join feestbl fee1 on clienttbl.id = fee1.id and fee1.type = type1
left outer join feestbl fee2 on clienttbl.id = fee2.id and fee2.type = type2
left outer join feestbl fee3 on clienttbl.id = fee3.id and fee3.type = type3
hope this is helpful...
K