Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
suma de fila con campos a null en una consulta sql

Me gustaría saber cómo puedo sumar campos por fila en una consulta sql, cuando alguno de esos campos tiene valor null. porque es sabido que si alguno de los campos es null, la suma entera vale null. ¿hay alguna forma de indicar que si el campo a sumar vale null, me lo inicialice a 0? sé que hay una función parecida en postgrees creo, "isnull(campo,0). pero yo estoy usando access con delphi. he visto en algún manual funciones parecidas NZ, NVL, pero ningunade ellas me funciona. gracias
Responder Con Cita
  #2  
Antiguo 01-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Haciendo una prueba con paradox veo que los campos null se suman como cero. En tu caso ¿no te serviría poner un condicional?

select sum(campo) from tabla where campo is not null

// Saludos
Responder Con Cita
  #3  
Antiguo 01-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
perlo lo que yo quiero es suma por filas

yo uso access, pero loque has puesto ahí es una suma en columnas, que sí suma los null como 0, pero si uno suma 3 campos de los cuales uno está a null, etonces la suma es null. por ejemplo

campo a campo b campo c
3 2 8
4 5 null

select campo a + campo b + campo c as total from....

solución:

total
13
null

y yo lo que quiero es que se obtenga

total
13
9
Responder Con Cita
  #4  
Antiguo 02-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
En access puedes utilizar la función NZ que es un sinónimo del NVL de Oracle o el IsNull de SqlServer:

Código:
SELECT NZ(CAMPO1, 0) + NZ(CAMPO2, 0) + NZ(CAMPO3, 0) AS TOTAL
FROM...
Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 02-02-2004
soyhugo soyhugo is offline
Miembro
 
Registrado: ene 2004
Posts: 66
Poder: 21
soyhugo Va por buen camino
me dice función NZ no definida

ya lo comprobé pero me dice que sale un error cuano ejecuta la consulta, diciendo que la función NZ no está definida.
Responder Con Cita
  #6  
Antiguo 02-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.935
Poder: 27
delphi.com.ar Va por buen camino
Mmmm... ¿Qué versión de Access utilizas?... Puedes solucionarlo con un IIF
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta



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
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:11:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi