saber si hay un null en un campo

29/10/2003 - 19:33 por Sanchez Arnoletto Martin Rodrigo | Informe spam
Si tengo una tabla en la que tengo un campo precio y necesito saber la
sumatoria se debe aplicar:

select sum(precio) from tabla

esto ME SALTEA los campos null que puedan existir.
lo que necesito es algo que, si hay un campo null, la sumatoria me devuelva
null sino, la sumatoria
alguna idea???
gracias desde ya


Saludos...



Ing. Martin Rodrigo Sanchez Arnoletto
Islas Baleares - España
mrsarnolettoQUITAR@hotmail.QUITARcom

Preguntas similare

Leer las respuestas

#6 Maximiliano Sampirisi
30/10/2003 - 17:31 | Informe spam
mejor aun...

Select
resultado = case
when (
select count(*)
from tabla
where isnull(precio,-9999) = -9999
) > 0
then NULL
else (
select sum(precio)
from tabla
)
end

(solo funciona si no tienes ningun precio en -9999)

Maximiliano

Maximiliano Sampirisi wrote:
puedes probar algo asi como :

select
sum(precio) AS PRECIO,
sum(isnull(precio,1)-isnull(precio,-1))/2 AS CANTIDAD_NULOS
From tabla

esto, en resumen, siempre en el primer campo te trae la suma, y en el
segundo campo 0 cuando no halla nulos... cuando halla nulos te va a
traer un multiplo de 2. ese numero, divido 2 te va a decir cuantos nulos
hay en la tabla o en el rango de la tabla.

Maximiliano

Sanchez Arnoletto Martin Rodrigo wrote:

muy válido liliana,
pero no existe otra forma?, algo como detectar si hay un valur null en un
conjunto de resultados?

Gracias Mil






Respuesta Responder a este mensaje
#7 Liliana Sorrentino
30/10/2003 - 19:30 | Informe spam
José,
Necesita que el resultado de SUM sea NULL si hay algún precio nulo; algo así
como
SELECT 1 + 2 + NULL (esto da null).
Pero las funciones de agregado ignoran los nulos, que yo sepa no hay función
que lo haga.
Saludos... Liliana.

"José Raúl Fenollar Martínez" escribió en el mensaje
news:
Isais te ha respondido perfectamente:

Select SUM( Isnull(MiCampoASumar,0.00)) from TablaDondeEstaElCampoASumar

si MiCampoASumar es NULL
Isnull(MiCampoASumar,0.00) =0
si no es null
Isnull(MiCampoASumar,0.00) =MiCampoASumar


"Sanchez Arnoletto Martin Rodrigo" wrote in
message news:
> Si tengo una tabla en la que tengo un campo precio y necesito saber la
> sumatoria se debe aplicar:
>
> select sum(precio) from tabla
>
> esto ME SALTEA los campos null que puedan existir.
> lo que necesito es algo que, si hay un campo null, la sumatoria me
devuelva
> null sino, la sumatoria
> alguna idea???
> gracias desde ya
>
>
> Saludos...
>
>
>
> Ing. Martin Rodrigo Sanchez Arnoletto
> Islas Baleares - España
>
>
>
>


Respuesta Responder a este mensaje
#8 Liliana Sorrentino
30/10/2003 - 19:37 | Informe spam
Maxi,
esto parece más simple:

SELECT SUM(precio) AS PRECIO,
SUM(CASE WHEN PRECIO IS NULL THEN 1 END) AS CANTIDAD_NULOS
FROM tabla

Saludos... Liliana.

"Maximiliano Sampirisi" escribió en el mensaje
news:
mejor aun...

Select
resultado = case
when (
select count(*)
from tabla
where isnull(precio,-9999) = -9999
) > 0
then NULL
else (
select sum(precio)
from tabla
)
end

(solo funciona si no tienes ningun precio en -9999)

Maximiliano

Maximiliano Sampirisi wrote:
> puedes probar algo asi como :
>
> select
> sum(precio) AS PRECIO,
> sum(isnull(precio,1)-isnull(precio,-1))/2 AS CANTIDAD_NULOS
> From tabla
>
> esto, en resumen, siempre en el primer campo te trae la suma, y en el
> segundo campo 0 cuando no halla nulos... cuando halla nulos te va a
> traer un multiplo de 2. ese numero, divido 2 te va a decir cuantos nulos
> hay en la tabla o en el rango de la tabla.
>
> Maximiliano
>
> Sanchez Arnoletto Martin Rodrigo wrote:
>
>> muy válido liliana,
>> pero no existe otra forma?, algo como detectar si hay un valur null en


un
>> conjunto de resultados?
>>
>> Gracias Mil
>>
>>
>>
>

Respuesta Responder a este mensaje
#9 Fernando España
30/10/2003 - 19:45 | Informe spam
la forma en como he resuelto esto con anterioridad es colocarle un isnull al
campo en si y tambien un isnull al resultado de la funcion.



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"Liliana Sorrentino" escribió en el mensaje
news:
José,
Necesita que el resultado de SUM sea NULL si hay algún precio nulo; algo


así
como
SELECT 1 + 2 + NULL (esto da null).
Pero las funciones de agregado ignoran los nulos, que yo sepa no hay


función
que lo haga.
Saludos... Liliana.

"José Raúl Fenollar Martínez" escribió en el mensaje
news:
> Isais te ha respondido perfectamente:
>
> Select SUM( Isnull(MiCampoASumar,0.00)) from TablaDondeEstaElCampoASumar
>
> si MiCampoASumar es NULL
> Isnull(MiCampoASumar,0.00) =0
> si no es null
> Isnull(MiCampoASumar,0.00) =MiCampoASumar
>
>
> "Sanchez Arnoletto Martin Rodrigo" wrote in
> message news:
> > Si tengo una tabla en la que tengo un campo precio y necesito saber la
> > sumatoria se debe aplicar:
> >
> > select sum(precio) from tabla
> >
> > esto ME SALTEA los campos null que puedan existir.
> > lo que necesito es algo que, si hay un campo null, la sumatoria me
> devuelva
> > null sino, la sumatoria
> > alguna idea???
> > gracias desde ya
> >
> >
> > Saludos...
> >
> >
> >
> > Ing. Martin Rodrigo Sanchez Arnoletto
> > Islas Baleares - España
> >
> >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida