Para ver cual es el producto más vendido no hace falta el inner join, si sólo quieres el código, si quieres la descripción con el código si hace falta:
Sólo el código del producto:
Código PHP:
select cod_producto, count(*) b
from compra
group by 1
oder by 2 desc
si además quieres la descripción del producto:
Código PHP:
select cod_producto, nombre, count(*) b
from compra a,producto b
where a.cod_producto = b.cod_producto
group by 1,2
oder by 3 desc
En ambas instrucciones el producto más vendido es el primer registro. Dependiendo del gestor que uses puedes limitar a que te devuelva sólo una fila. Con mysql sería "limit 0,1".
Espero que te sirva.