Assuming you're using MySQL....
You want to query Table 1 and get the corresponding values from Table 2 (where table1.col1 = table2.col1)
SELECT table1.*
FROM table1
LEFT JOIN table2
ON table1.`col1` = table2.`col1`
where table1.col1 is only shown once in the result set
SELECT table1.*
FROM table1
LEFT JOIN table2
ON table1.`col1` = table2.`col1`
GROUP BY table1.`col1`
all while finding the average of the values in table2.col2?
SELECT table1.`col1`, AVG(table2.`col2`)
FROM table1
LEFT JOIN table2
ON table1.`col1` = table2.`col1`
GROUP BY table1.`col1`
The last query should return the table1.col1 and the average of it's corresponding values from table2. The GROUP BY ensures that there are no duplicates in the result set.