SQL – Precio mínimo de los comparativos

Función SQL para obtener el precio mínimo de las ofertas de proveedores de los comparativos:

CREATE FUNCTION F_COMPA_PRECIO_MIN(@EMPRESA VARCHAR(12),@OBRA VARCHAR(12),@COD_INTERNO VARCHAR(8)) RETURNS DECIMAL(18,4)

AS BEGIN

   DECLARE @PRECIO_MIN DECIMAL(18,4);

   SET @PRECIO_MIN=(SELECT MIN(CP.PRECIO) PRECIO_MIN FROM T_COMPA_LIN L

JOIN T_COMPA_PRE CP ON CP.EMPRESA=L.EMPRESA AND CP.OBRA=L.OBRA AND CP.COMPA=L.COMPA ANDCP.LINEA=L.LINEA

WHERE L.EMPRESA=@EMPRESA AND L.OBRA=@OBRA AND  L.COD_INTERNO=@COD_INTERNO AND CP.PRECIO>0

);

   RETURN @PRECIO_MIN

END