SQL Server - Ayuda en SQL Server 2008

   
Vista:

Ayuda en SQL Server 2008

Publicado por Jesus Enrique (2 intervenciones) el 15/10/2013 19:49:03
Muy buenas tardes

Tengo mi consulta:

select
#ChequesEmitidos.NoCheque,
#ChequesEmitidos.Monto,
#CuentasNoEnPL21.CuentaContable,
#CuentasNoEnPL21.Monto
from #ChequesEmitidos inner join #CuentasNoEnPL21
on #ChequesEmitidos.NoCheque = #CuentasNoEnPL21.NoCheque
order by #ChequesEmitidos.NoCheque


la cual genera el siguiente reusltado: (ver la imagen ANTES)



y deseo que me ayuden a buscar la manera de hacer que el resultado de esa consulta sea el siguiente: (ver la imagen DESPUES)




porfavor el que me pueda dar respuesta el ruego que me explique con detalles para entenderlo. Muchas Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

Ayuda en SQL Server 2008

Publicado por Isaias (3182 intervenciones) el 15/10/2013 20:27:13
Muy fácil

1.- Has un query para cada registro (POSITIVO y NEGATIVOS)
2.- Une ambos querys mediante UNION, donde en los positivos, no presentas monto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda en SQL Server 2008

Publicado por Jesus Enrique (2 intervenciones) el 15/10/2013 20:35:13
si pero no todos los montos son negativos hay algunos que empiezan con un monto positivo y hay varios registros que pueden tienes varios montos tanto positivos como negativos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias

Ayuda en SQL Server 2008

Publicado por Isaias (3182 intervenciones) el 15/10/2013 21:58:19
Por eso dije, haces DOS querys, uno para los POSITIVOS y otro para los NEGATIVOS (DOS QUERY'S), al final, los unes con UNION y loas negativos, no presentas el importe.

¿Se comprende?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Geri

Ayuda en SQL Server 2008

Publicado por Geri GeriReshef@GMail.com (17 intervenciones) el 16/10/2013 14:55:02
Probá esto:
1
2
3
4
5
6
7
Select 	#ChequesEmitidos.NoCheque, 
	Case When Row_Number() Over(Partition By #ChequesEmitidos.NoCheque Order By #CuentasNoEnPL21.CuentaContable)=1 Then #ChequesEmitidos.Monto Else 0 End Monto,
	 #CuentasNoEnPL21.CuentaContable,
	 #CuentasNoEnPL21.Monto
From	#ChequesEmitidos inner join #CuentasNoEnPL21 
	on #ChequesEmitidos.NoCheque = #CuentasNoEnPL21.NoCheque
order by #ChequesEmitidos.NoCheque;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar