Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/12/2010, 12:14
mfernandez1982
 
Fecha de Ingreso: abril-2010
Mensajes: 38
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Saldos dinamicos

Tambien se me ocurrio esta consulta, pero me arroja este error. (creo que me falta un detalle, pero no lo se aplicar :( )

Mens. 512, Nivel 16, Estado 1, Línea 23
La subconsulta ha devuelto más de un valor, lo que no es correcto cuando va a continuación de =, !=, <, <=, >, >= o cuando se utiliza como expresión.


DECLARE @intinicial int, @intfinal int, @fecha_exist_inicial datetime,@fecha_exist_final datetime

set @fecha_exist_inicial = '01-11-2010' set @fecha_exist_final = '20-11-2010'
set @intinicial = '1' set @intfinal = '170319'

SELECT @fecha_exist_final AS FECHA_SALDO, CODIGO, SUM(CANTIDAD) AS ENTRADAS,
(SELECT SUM(CANTIDAD) AS SALIDAS
FROM REGISTROS AS reg
WHERE (CODIGO BETWEEN @intinicial AND @intfinal) AND (FECHA_REGISTRO BETWEEN @fecha_exist_inicial AND @fecha_exist_final) AND
(TIPO_MOV = 2) AND (CODIGO = CODIGO)
GROUP BY CODIGO) AS SALIDAS,SUM(CANTIDAD) - (SELECT SUM(CANTIDAD) AS SALIDAS
FROM REGISTROS AS reg
WHERE (CODIGO BETWEEN @intinicial AND @intfinal) AND (FECHA_REGISTRO BETWEEN @fecha_exist_inicial AND @fecha_exist_final) AND
(TIPO_MOV = 2) AND (CODIGO = CODIGO)
GROUP BY CODIGO) AS SALDO
FROM REGISTROS AS reg
WHERE (CODIGO BETWEEN @intinicial AND @intfinal) AND (FECHA_REGISTRO BETWEEN @fecha_exist_inicial AND @fecha_exist_final) AND (TIPO_MOV = 1)
GROUP BY CODIGO