azoterra,
La estructura de la consulta dependerá de la cantidad de tablas involucradas en la operación, si los suministros y el margen de ganancia se encuentra en la misma tabla entonces es tan simple como filtrar por el tipo de suministro y ordenar por el margen
de ganancia de manera descendente tomando el (los) monto(s) mayor(es), algo como:
CREATE PROCEDURE dbo.NombreProcedimiento
@TipoSuministro varchar(10)
AS
BEGIN
SELECT TOP (1) WITH TIES
Suministro,
MargenGanancia
FROM
Suministros t1
WHERE
(t1.TipoSuministro = @TipoSuministro) AND (YEAR(t1.Fecha) = 2008)
ORDER BY
t1.MargenGanancia DESC;
END
Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.