Estoy trabajando con Sql server 2014 y tengo el siguient script el cual si le coloco el group by al query no me arroja ni cero caso contrario cuando se lo quito si aparece 0.
En mi caso es necesario ya que esta consulta la necesito hacer en un join y dependiendo del case hace el select respectivo y no entiendo porque nunca ejecuta el case.
En el caso del crenumero que esta en el ejemplo me trae
ValoSeguVida
Pero si le quito el group by si sale
ValoSeguVida
0
Código SQL:
[/QUOTE]Ver original
DECLARE @crenumero INT DECLARE @fechSist smalldatetime SET @crenumero = 23455 SET @fechSist = '2018-06-21' DECLARE @periCier INT DECLARE @periActu INT DECLARE @fechCier SMALLDATETIME DECLARE @fechActu SMALLDATETIME --obtenemos la fecha del sistemas menos un mes SET @fechCier = CONVERT ( VARCHAR (10), DATEADD(MONTH, -1, @fechSist), 101) --obtemos el último periodo que se han causado seguro de vida SET @periCier = CONVERT ( CHAR (4), datepart(YEAR, @fechCier)) + '' + CONVERT ( CHAR (2), datepart(MONTH, @fechCier)) SELECT CASE WHEN COUNT(*) = 0 THEN( SELECT SUM(rpsvsaldosegurovida) FROM dbo.fin_reportepagosegurovida WHERE crenumero = @crenumero AND rpsperiodocorte < @periCier ) ELSE( SELECT SUM(rpsvsaldosegurovida) FROM dbo.fin_reportepagosegurovida WHERE crenumero = @crenumero ) END AS ValoSeguVida FROM fin_planpago AS ppsv WHERE ppsv.ppfecha <= @fechActu AND ppsv.crenumero = @crenumero AND CONVERT ( CHAR (4), datepart(YEAR, ppsv.ppfecha)) + '' + CONVERT ( CHAR (2), datepart(MONTH, ppsv.ppfecha)) = @periActu GROUP BY ppsv.crenumero
Agradezco de antemano las sugerencias y ayudas que me puedan brindar