quizas esto te sirva:
Código SQL:
Ver originalCREATE TABLE #productos
(
id INT,
num_par VARCHAR(20),
catego VARCHAR(20),
precio_das INT,
cantidad INT,
fecha datetime,
tipo VARCHAR(MAX)
)
INSERT INTO #productos VALUES (38, 'AR-310NT', 'Consumibles', 1089, 1, '07/11/2013', 'Entrada')
INSERT INTO #productos VALUES (39, 'AR-310NT', 'Consumibles', 1089, 2, '08/11/2013', 'Entrada')
INSERT INTO #productos VALUES (40, 'AR-310NT', 'Consumibles', 1089, 2, '08/11/2013', 'Salida')
INSERT INTO #productos VALUES (41, 'AR-310NT', 'Consumibles', 1089, 2, '08/11/2013', 'Salida')
INSERT INTO #productos VALUES (41, 'AR-310NT', 'Consumibles', 1089, 4, '08/11/2013', 'Entrada')
INSERT INTO #productos VALUES (41, 'AR-310NT', 'Consumibles', 1089, 2, '08/11/2013', 'Salida')
SELECT t2.num_par,t2.total,t3.fecha,t3.catego FROM(
SELECT num_par,SUM(entrada) AS total FROM (
SELECT
CASE WHEN tipo='Entrada' THEN SUM(cantidad) ELSE SUM(-cantidad)END AS entrada,num_par
FROM #productos
GROUP BY tipo,num_par) AS t1
GROUP BY num_par) t2 LEFT JOIN
(SELECT num_par,MAX(fecha) AS fecha,catego FROM #productos GROUP BY num_par,catego) AS t3 ON (t2.num_par=t3.num_par)
son datos parecidos a los tuyos, solo acomodalo a tus necesidades :)