Esta podria ser una opción, espero te sirva:
Código:
select fecha,codigo,sum(case when a.tipo='E' then cantidad else 0 end) as SumEntr,sum(case when a.tipo='S' then cantidad else 0 end) as SumSal from (
select codigo,fecha,cantidad,'E' as tipo from entradas UNION select codigo,fecha,cantidad,'S' as tipo from salidas) as a where a.fecha>CONVERT(DATETIME, '2007-07-08 00:00:00', 102) group by a.fecha,a.codigo order by a.fecha
Estos son los datos y la salida usados:
Entradas:
codigo fecha cantidad
----------- ------------------------------------------------------
1 2007-08-08 00:00:00.000 1.0
1 2007-08-08 00:00:00.000 5.0
2 2007-08-08 00:00:00.000 1.0
1 2007-08-09 00:00:00.000 5.0
Salidas:
codigo fecha cantidad
----------- ------------------------------------------------------
1 2007-08-08 00:00:00.000 2.0
RESULTADO DE LA CONSULTA:
fecha codigo SumEntr SumSal
------------------------------------------------------ -----------
2007-08-08 00:00:00.000 1 6.0 2.0
2007-08-08 00:00:00.000 2 1.0 0.0
2007-08-09 00:00:00.000 1 5.0 0.0
(3 filas afectadas)
Saludos.