Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   sumar valores nulos con doubles sql. (https://www.clubdelphi.com/foros/showthread.php?t=71228)

ingabraham 07-12-2010 22:35:10

sumar valores nulos con doubles sql.
 
firebird 2.0 y delphi 7

tengo dos tablas

contratos
----------
nrocontrato
valor1


adiciones
-----------
nrocontrato
valor2

necesito sacar una consulta
//puede tener muchas adiciones o cero
nro contrato , totalvalorcontrato(valor1+sum(valor2))


hago esto sql
Código SQL [-]
 
 valor1+(select sum(valor2) from adiciones where nrocontrato1=nrocontrato2)

pero cuando no hay adiciones no suma y me muestra el valor en blanco.

los tipos de datos de valor1,valor2 son double.

me muestra asi
0001 3000
002 en blanco x q no tiene
0003 4535


que puedo hacer

ecfisa 07-12-2010 22:54:03

Hola.

Si alguno de los operandos puede tomar el valor NULL, el resultado va a ser NULL: NULL en expresiones .

Creo que la solución sería que declararas los campos como NOT NULL y le asignes cero por defecto.

Saludos.

ingabraham 07-12-2010 22:57:38

Cita:

Empezado por ecfisa (Mensaje 384322)
Hola.

Si alguno de los operandos puede tomar el valor NULL, el resultado va a ser NULL: NULL en expresiones .

Creo que la solución sería que declararas los campos como NOT NULL y asignes cero cuando lo desees sin valor.

Saludos.

lo que pasa es q ningun valor es nulo
si no q en la 2 tabla puede q no haya adiciones
eje.

tabla1
001
2000

003
34000

tabla2
001
2300

001
3000

y el 003 no existiria en la tabla2, osea q ese resultado seria arrojado nulo

ecfisa 07-12-2010 23:00:54

Hola.

Entiendo... entonces supongo que deberías evaluar, mediante alguna condición, la existencia de adicionales antes de realizar la operación.

Saludos.

cloayza 08-12-2010 00:23:18

Podria ser...

Código SQL [-]
 valor1+COALESCE( (select sum(valor2) from adiciones where nrocontrato1=nrocontrato2),0.0)

Saludos...

ingabraham 14-12-2010 23:27:10

pego en el blanco compañero, gracias.


La franja horaria es GMT +2. Ahora son las 12:59:21.

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