Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup microsoft.public.es.* 1 Foro > Newsgroup microsoft.public.es.dotnet.vb
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 29-01-2008, 20:35:17
Super
 
Mensajes: n/a
Predeterminado Valor Nulo

Hola a todos y gracias de antemano.

a ver si me pueden ayudar con esto.

Tengo un SP en SQL que es este

ALTER PROCEDURE [dbo].[SGI_Saldo_Mov]

(

***desde smalldatetime,

***CtaBanc int

)

AS

SELECT SUM(dbo.Detalle_Movimiento.Debe)- SUM(dbo.Detalle_Movimiento.Haber)
AS Saldo, dbo.CtaBanco.Saldo AS SaldoC

FROM dbo.CtaBanco INNER JOIN

dbo.Movimientos ON dbo.CtaBanco.IdCtaBanco = dbo.Movimientos.IdCtaBanco
INNER JOIN

dbo.Detalle_Movimiento ON dbo.Movimientos.IdMov =
dbo.Detalle_Movimiento.IdMov

WHERE (dbo.Movimientos.IdCtaBanco = ***CtaBanc) AND
(dbo.Detalle_Movimiento.Fecha < ***desde)

GROUP BY dbo.CtaBanco.Saldo



Lo que necesito es que si las sumas de arriba son nulas, igualarlas a cero,
o sea, no tener valores nulos



Gracias


Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 30-01-2008, 00:42:09
Leonardo Azpurua
 
Mensajes: n/a
Predeterminado Re: Valor Nulo


"Super" <someone***somewhere.com> escribió en el mensaje
news:%23HU%23C4rYIHA.4808***TK2MSFTNGP05.phx.gbl...
> Hola a todos y gracias de antemano.
>
> a ver si me pueden ayudar con esto.
>
> Tengo un SP en SQL que es este
>
> ALTER PROCEDURE [dbo].[SGI_Saldo_Mov]
>
> (
>
> ***desde smalldatetime,
>
> ***CtaBanc int
>
> )
>
> AS
>
> SELECT SUM(dbo.Detalle_Movimiento.Debe)- SUM(dbo.Detalle_Movimiento.Haber)
> AS Saldo, dbo.CtaBanco.Saldo AS SaldoC
>
> FROM dbo.CtaBanco INNER JOIN
>
> dbo.Movimientos ON dbo.CtaBanco.IdCtaBanco = dbo.Movimientos.IdCtaBanco
> INNER JOIN
>
> dbo.Detalle_Movimiento ON dbo.Movimientos.IdMov =
> dbo.Detalle_Movimiento.IdMov
>
> WHERE (dbo.Movimientos.IdCtaBanco = ***CtaBanc) AND
> (dbo.Detalle_Movimiento.Fecha < ***desde)
>
> GROUP BY dbo.CtaBanco.Saldo
>
>
>
> Lo que necesito es que si las sumas de arriba son nulas, igualarlas a
> cero, o sea, no tener valores nulos


Hola.

Prueba con COALESCE.

Debe ser algo como:

...
SELECT
COALESCE(SUM(dbo.Detalle_Movimiento.Debe), 0) -
COALESCE(SUM(dbo.Detalle_Movimiento.Haber), 0)
FROM
...

Salud!




Responder Con Cita
  #3 (permalink)  
Antiguo 30-01-2008, 15:17:59
Super
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Continua devolviendo valores nulos cuando no hay movimientos, alguna otra
idea ?

Gracias por su pronta respuesta.



SELECT COALESCE(SUM(dbo.Detalle_Movimiento.Debe),0)-
COALESCE(SUM(dbo.Detalle_Movimiento.Haber),0) AS Saldo, dbo.CtaBanco.Saldo
AS SaldoC

FROM dbo.CtaBanco INNER JOIN

dbo.Movimientos ON dbo.CtaBanco.IdCtaBanco = dbo.Movimientos.IdCtaBanco
INNER JOIN

dbo.Detalle_Movimiento ON dbo.Movimientos.IdMov =
dbo.Detalle_Movimiento.IdMov

WHERE (dbo.Movimientos.IdCtaBanco = ***CtaBanc) AND
(dbo.Detalle_Movimiento.Fecha < ***desde)

GROUP BY dbo.CtaBanco.Saldo


Responder Con Cita
  #4 (permalink)  
Antiguo 30-01-2008, 16:27:37
Jhonny Vargas P.
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Debes usar ISNULL


SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))



--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Super" <someone***somewhere.com> escribió en el mensaje de
noticias:#HU#C4rYIHA.4808***TK2MSFTNGP05.phx.gbl...
> Hola a todos y gracias de antemano.
>
> a ver si me pueden ayudar con esto.
>
> Tengo un SP en SQL que es este
>
> ALTER PROCEDURE [dbo].[SGI_Saldo_Mov]
>
> (
>
> ***desde smalldatetime,
>
> ***CtaBanc int
>
> )
>
> AS
>
> SELECT SUM(dbo.Detalle_Movimiento.Debe)- SUM(dbo.Detalle_Movimiento.Haber)
> AS Saldo, dbo.CtaBanco.Saldo AS SaldoC
>
> FROM dbo.CtaBanco INNER JOIN
>
> dbo.Movimientos ON dbo.CtaBanco.IdCtaBanco = dbo.Movimientos.IdCtaBanco
> INNER JOIN
>
> dbo.Detalle_Movimiento ON dbo.Movimientos.IdMov =
> dbo.Detalle_Movimiento.IdMov
>
> WHERE (dbo.Movimientos.IdCtaBanco = ***CtaBanc) AND
> (dbo.Detalle_Movimiento.Fecha < ***desde)
>
> GROUP BY dbo.CtaBanco.Saldo
>
>
>
> Lo que necesito es que si las sumas de arriba son nulas, igualarlas a
> cero, o sea, no tener valores nulos
>
>
>
> Gracias
>
>

Responder Con Cita
  #5 (permalink)  
Antiguo 30-01-2008, 16:38:20
Alberto Poblacion
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

"Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
> Debes usar ISNULL
>
>
> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))


Esto todavía devolverá NULL si no existe ningún registro en la tabla. Hay
que poner un ISNULL por fuera de toda la operación.





Responder Con Cita
  #6 (permalink)  
Antiguo 30-01-2008, 16:45:29
Jhonny Vargas P.
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Entoces piensa en colocar un ISNULL a la Suma.

SELECT ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0)),0)-
ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0)) ,0)




--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org>
escribió en el mensaje de noticias:eMPyvb2YIHA.748***TK2MSFTNGP04.phx.gbl...
> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
> news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
>> Debes usar ISNULL
>>
>>
>> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
>> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))

>
> Esto todavía devolverá NULL si no existe ningún registro en la tabla.
> Hay que poner un ISNULL por fuera de toda la operación.
>
>
>
>
>

Responder Con Cita
  #7 (permalink)  
Antiguo 30-01-2008, 17:37:27
Super
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Gracias por su pronta respuesta, pero aún me pone en nulo los valores que le
pido cuando no encuentra mivimientos en la fecha anterior a la que le doy.

Alguna otra idea ?


"Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el mensaje
de noticias news:%23o2yrf2YIHA.5396***TK2MSFTNGP02.phx.gbl...
> Entoces piensa en colocar un ISNULL a la Suma.
>
> SELECT ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0)),0)-
> ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0)) ,0)
>
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> http://msmvps.com/jvargas
> Santiago de Chile
>
> "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org>
> escribió en el mensaje de noticias:eMPyvb2YIHA.748***TK2MSFTNGP04.phx.gbl...
>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
>> news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
>>> Debes usar ISNULL
>>>
>>>
>>> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
>>> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))

>>
>> Esto todavía devolverá NULL si no existe ningún registro en la tabla.
>> Hay que poner un ISNULL por fuera de toda la operación.
>>
>>
>>
>>
>>


Responder Con Cita
  #8 (permalink)  
Antiguo 30-01-2008, 17:47:34
Jhonny Vargas P.
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Estás seguro?...

Puede ser que no estés devolviendo ningun valor...

hay alguna forma que mandes el resultado con los registros?.... ¿probaste la
consulta directamente en el Query Analizer?



--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Super" <calinlima02***hotmail.com> escribió en el mensaje de
noticias:FEFED083-5928-4ED2-8DA7-53F5EACF2674***microsoft.com...
> Gracias por su pronta respuesta, pero aún me pone en nulo los valores que
> le pido cuando no encuentra mivimientos en la fecha anterior a la que le
> doy.
>
> Alguna otra idea ?
>
>
> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el
> mensaje de noticias news:%23o2yrf2YIHA.5396***TK2MSFTNGP02.phx.gbl...
>> Entoces piensa en colocar un ISNULL a la Suma.
>>
>> SELECT ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0)),0)-
>> ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0)) ,0)
>>
>>
>>
>>
>> --
>> Saludos,
>> Jhonny Vargas P.
>> http://msmvps.com/jvargas
>> Santiago de Chile
>>
>> "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org>
>> escribió en el mensaje de
>> noticias:eMPyvb2YIHA.748***TK2MSFTNGP04.phx.gbl...
>>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
>>> news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
>>>> Debes usar ISNULL
>>>>
>>>>
>>>> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
>>>> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))
>>>
>>> Esto todavía devolverá NULL si no existe ningún registro en la tabla.
>>> Hay que poner un ISNULL por fuera de toda la operación.
>>>
>>>
>>>
>>>
>>>

>

Responder Con Cita
  #9 (permalink)  
Antiguo 31-01-2008, 10:41:27
Jhonny Vargas P.
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Es porque no encontró nada la consulta... que es muy distinto a "devolver
valores nulos"...

Coloca al después del Select

IF ******ROWCOUNT() = 0
SELECT Saldo = 0, SaldoC=0




--
Saludos,
Jhonny Vargas P.
http://msmvps.com/jvargas
Santiago de Chile

"Super" <calinlima02***hotmail.com> escribió en el mensaje de
noticias:9C471BBF-ED2A-44B7-9E65-95F8A322F7B8***microsoft.com...
> Aquí lo tienes, en una está una cuenta que tiene movimiento y otra que no
> lo
> tiene, que es donde no devuelve nada, tal vez y no sea nulo, si no que no
> devuelve valor, pero igual no se como hacer para llevarlo a cero.
>
> Gracias
>
> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el
> mensaje
> de noticias news:%23z77XC3YIHA.4448***TK2MSFTNGP03.phx.gbl...
>> Estás seguro?...
>>
>> Puede ser que no estés devolviendo ningun valor...
>>
>> hay alguna forma que mandes el resultado con los registros?.... ¿probaste
>> la consulta directamente en el Query Analizer?
>>
>>
>>
>> --
>> Saludos,
>> Jhonny Vargas P.
>> http://msmvps.com/jvargas
>> Santiago de Chile
>>
>> "Super" <calinlima02***hotmail.com> escribió en el mensaje de
>> noticias:FEFED083-5928-4ED2-8DA7-53F5EACF2674***microsoft.com...
>>> Gracias por su pronta respuesta, pero aún me pone en nulo los valores
>>> que
>>> le pido cuando no encuentra mivimientos en la fecha anterior a la que le
>>> doy.
>>>
>>> Alguna otra idea ?
>>>
>>>
>>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el
>>> mensaje de noticias news:%23o2yrf2YIHA.5396***TK2MSFTNGP02.phx.gbl...
>>>> Entoces piensa en colocar un ISNULL a la Suma.
>>>>
>>>> SELECT ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0)),0)-
>>>> ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0)) ,0)
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Saludos,
>>>> Jhonny Vargas P.
>>>> http://msmvps.com/jvargas
>>>> Santiago de Chile
>>>>
>>>> "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org>
>>>> escribió en el mensaje de
>>>> noticias:eMPyvb2YIHA.748***TK2MSFTNGP04.phx.gbl...
>>>>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
>>>>> news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
>>>>>> Debes usar ISNULL
>>>>>>
>>>>>>
>>>>>> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
>>>>>> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))
>>>>>
>>>>> Esto todavía devolverá NULL si no existe ningún registro en la
>>>>> tabla.
>>>>> Hay que poner un ISNULL por fuera de toda la operación.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>

>

Responder Con Cita
  #10 (permalink)  
Antiguo 31-01-2008, 15:11:56
Super
 
Mensajes: n/a
Predeterminado Re: Valor Nulo

Disculpe mi ignorancia, puede decirme como lo pongo, realmente ni idea

Gracias

"Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el mensaje
de noticias news:e$vk54$YIHA.1132***TK2MSFTNGP06.phx.gbl...
> Es porque no encontró nada la consulta... que es muy distinto a "devolver
> valores nulos"...
>
> Coloca al después del Select
>
> IF ******ROWCOUNT() = 0
> SELECT Saldo = 0, SaldoC=0
>
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> http://msmvps.com/jvargas
> Santiago de Chile
>
> "Super" <calinlima02***hotmail.com> escribió en el mensaje de
> noticias:9C471BBF-ED2A-44B7-9E65-95F8A322F7B8***microsoft.com...
>> Aquí lo tienes, en una está una cuenta que tiene movimiento y otra que no
>> lo
>> tiene, que es donde no devuelve nada, tal vez y no sea nulo, si no que no
>> devuelve valor, pero igual no se como hacer para llevarlo a cero.
>>
>> Gracias
>>
>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el
>> mensaje
>> de noticias news:%23z77XC3YIHA.4448***TK2MSFTNGP03.phx.gbl...
>>> Estás seguro?...
>>>
>>> Puede ser que no estés devolviendo ningun valor...
>>>
>>> hay alguna forma que mandes el resultado con los registros?....
>>> ¿probaste
>>> la consulta directamente en el Query Analizer?
>>>
>>>
>>>
>>> --
>>> Saludos,
>>> Jhonny Vargas P.
>>> http://msmvps.com/jvargas
>>> Santiago de Chile
>>>
>>> "Super" <calinlima02***hotmail.com> escribió en el mensaje de
>>> noticias:FEFED083-5928-4ED2-8DA7-53F5EACF2674***microsoft.com...
>>>> Gracias por su pronta respuesta, pero aún me pone en nulo los valores
>>>> que
>>>> le pido cuando no encuentra mivimientos en la fecha anterior a la que
>>>> le
>>>> doy.
>>>>
>>>> Alguna otra idea ?
>>>>
>>>>
>>>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> escribió en el
>>>> mensaje de noticias news:%23o2yrf2YIHA.5396***TK2MSFTNGP02.phx.gbl...
>>>>> Entoces piensa en colocar un ISNULL a la Suma.
>>>>>
>>>>> SELECT ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0)),0)-
>>>>> ISNULL(SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0)) ,0)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Saludos,
>>>>> Jhonny Vargas P.
>>>>> http://msmvps.com/jvargas
>>>>> Santiago de Chile
>>>>>
>>>>> "Alberto Poblacion" <earthling-quitaestoparacontestar***poblacion.org>
>>>>> escribió en el mensaje de
>>>>> noticias:eMPyvb2YIHA.748***TK2MSFTNGP04.phx.gbl...
>>>>>> "Jhonny Vargas P." <c_h_a_n_g_e_sREMOVE***hotmail.com> wrote in message
>>>>>> news:%23uohuV2YIHA.484***TK2MSFTNGP06.phx.gbl...
>>>>>>> Debes usar ISNULL
>>>>>>>
>>>>>>>
>>>>>>> SELECT SUM(ISNULL(dbo.Detalle_Movimiento.Debe, 0))-
>>>>>>> SUM(ISNULL(dbo.Detalle_Movimiento.Haber,0))
>>>>>>
>>>>>> Esto todavía devolverá NULL si no existe ningún registro en la
>>>>>> tabla.
>>>>>> Hay que poner un ISNULL por fuera de toda la operación.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>

>>


Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comparar un valor nulo lagmgame Newsgroup microsoft.public.es.access 1 11-08-2008 23:30:54
Pasar un valor nulo a sqlserver a traves INSERT Newsgroup microsoft.public.es.dotnet.vb 2 14-05-2008 15:33:51
Encontrar un valor maximo en una fila e identificar la columna dondese encuentra dicho valor dmirandasoto@gmail.com Newsgroup microsoft.public.es.excel 2 29-11-2007 03:00:42
Como retornar un valor nulo para un valueType daniel Newsgroup microsoft.public.es.csharp 4 25-11-2007 18:13:49
Como Saber si un Valor de un consulta es nulo??? Vitrium Newsgroup microsoft.public.es.dotnet.framework 2 16-10-2006 15:12:01





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.