hola crea una consula formateada con este Query:
DECLARE @ITEMCODE NVARCHAR(15)
DECLARE @BASECARD NVARCHAR(15)
DECLARE @TABLA1 TABLE (BaseCard NVARCHAR(15), ItemCode NVARCHAR(15), Precio money , Fecha date)
DECLARE @TABLA2 TABLE (NumeroLinea int,BaseCard NVARCHAR(15), ItemCode NVARCHAR(15), Precio money , Fecha date)
DECLARE @TABLA3 TABLE(Precio money, Porcentaje numeric(5,2), NumLinea INT)
DECLARE @P1 MONEY
DECLARE @P2 MONEY
DECLARE @P3 MONEY
DECLARE @P4 MONEY
DECLARE @P5 MONEY
set @BASECARD = $[INV1.BaseCard]
SET @ITEMCODE = $[INV1.ItemCode]
INSERT @TABLA1
select TOP 5 BaseCard,ItemCode,Price,ActDelDate from INV1 where BaseCard = @BASECARD and ItemCode = @ITEMCODE ORDER BY ActDelDate DESC
insert @TABLA2
SELECT ROW_NUMBER() OVER(order by (select 1)) as row_number,* FROM @TABLA1
/ROW_NUMBER() OVER(order by (select 1)) as row_number/
SELECT * FROM @TABLA2
SET @P1= (SELECT Precio FROM @TABLA2 WHERE NumeroLinea = 1)
SET @P2= (SELECT Precio FROM @TABLA2 WHERE NumeroLinea = 2)
SET @P3= (SELECT Precio FROM @TABLA2 WHERE NumeroLinea = 3)
SET @P4= (SELECT Precio FROM @TABLA2 WHERE NumeroLinea = 4)
SET @P5= (SELECT Precio FROM @TABLA2 WHERE NumeroLinea = 5)
INSERT @TABLA3
SELECT Precio,(@P1/@P2)*100,NumeroLinea FROM @TABLA2 WHERE NumeroLinea = 1
UNION
SELECT Precio,(@P2/@P3)*100,NumeroLinea FROM @TABLA2 WHERE NumeroLinea = 2
UNION
SELECT Precio,(@P3/@P4)*100,NumeroLinea FROM @TABLA2 WHERE NumeroLinea = 3
UNION
SELECT Precio,(@P4/@P5)*100,NumeroLinea FROM @TABLA2 WHERE NumeroLinea = 4
UNION
SELECT Precio,(@P1/@P1)*100,NumeroLinea FROM @TABLA2 WHERE NumeroLinea = 5 ORDER BY NumeroLinea ASC
SELECT * FROM @TABLA3
Y me cuentas como te fue o si tienes alguna otra consulta. Saludos