It sounds like you've got multiple records in your table2 for a particular country
E.g.
data in table1
comm country
fff UK
data in table 2
fee country
15 UK
25 UK
50 UK
If you join against this data, you will see multiple rows since you haven't told it to perform any aggregation. When inner joining table1 against table2 as above, returning 3 rows is correct - it's satisfied your criteria
In addition to this, what 'fee' record should it display? There are 3 in the above, there's no way of uniquely retrieving the data.
What you might want to do is find the SUM of the values for a particular country, then join on that.
E.g.
SELECT
a.comm, ISNULL(SumOfFees.Fees, 0) AS Fees
FROM
table1 A
LEFT JOIN
(
SELECT
country, SUM(fee) AS Fees
FROM
table2
GROUP BY
country
)
AS
SumOfFees
ON
A.country = SumOfFees.country
So, the sub-query performs a GROUP BY and SUM of the fee field, which will return unique records at country level.
We now perform a LEFT JOIN against the country code field, so this will return all of the data from table1 and the sum of fees from our sub query.