Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2004
el-otro el-otro is offline
Miembro
 
Registrado: sep 2004
Posts: 13
Poder: 0
el-otro Va por buen camino
Unir contenido de campos omitiendo los null

Hola amigos:
Hace poco hice una consulta para unir campos de una tabla en sql, y fui rapida y más que correctamente atendido. Hoy os ruego complicar un poco el problema, por si pudierais ayudarme.

Lo que trato de hacer es crear un campo que sea la suma (en campos de texto) de un grupo de campos de texto, que además, y para complicarlo un poco estan en distintas tablas. En principio el sistema funciona, salvo cuando uno de los campos esta NULL, en cuyo caso el resultado de la unión es un campo NULL.

Se me han ocurrido varias soluciones que no han funcionado que son las siguientes:

GENERAR UN CAMPO NUEVO CON LA SUMA DE LOS OTROS
Código SQL [-]
((ISNULL (e.nombre,'') +
(ISNULL (d.Nombre,'')  +
(ISNULL (p.nombre,'') +
(ISNULL (a.titulo,'')) AS Total
Error cerca de la palabra as

CREAR CAMPOS NUEVOS Y SUMARLOS
Código SQL [-]
ISNULL (e.nombre,'') AS enombre,
ISNULL (d.Nombre,'')  AS dnombre,
ISNULL (p.nombre,'') AS pnombre,
ISNULL (a.titulo,'') AS atitulo,
(enombre + dnombre + pnombre + atitulo) as Total
El nombre de la columna enombre no es valida.

Esta misma formula la he utilizado colocando un punto así
Código SQL [-]
ISNULL (e.nombre,'') as e.nombre, ...
En cuyo caso obtengo un error cerca del carácter .

Así que ando un poco perdido, me podrias hechar una mano, os quedaré profundamente agradecido.

Salu2

Víctor / El-Otro
Responder Con Cita
  #2  
Antiguo 24-09-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
En Sql esto funciona y creo que te sirve:

Código:
Select case ISNULL(len(e.Nombre),0) 
         when 0 then ''
         else e.Nombre
       end  +
      case ISNULL(len(d.Nombre),0) 
        when 0 then ''
        else d.Nombre
      end  +
      case ISNULL(len(p.Nombre),0) 
        when 0 then ''
        else p.Nombre
      end  +
      case ISNULL(len(a.Titulo),0) 
        when 0 then ''
        else a.Titulo
      end        as TOTAL
from TABLA
__________________
Saludos,
Peter Investment
Responder Con Cita
  #3  
Antiguo 28-09-2004
el-otro el-otro is offline
Miembro
 
Registrado: sep 2004
Posts: 13
Poder: 0
el-otro Va por buen camino
Muchisimas gracias, me ha sido muy util.


El-Otro / Victor
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 23:48:03.


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