Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2010
PablorD PablorD is offline
Miembro
 
Registrado: sep 2008
Posts: 42
Poder: 0
PablorD Va por buen camino
consulta sobre una consulta :D

hola. quisiera saber si hay alguna forma de hacer una consulta de MySQL que:

si un campo = null o está vacio tome los datos desde otro y continue... por ejemplo

tengo
nombre1,nombre2,nombrea1,nombrea2

si ago un select y nombrea1 esta vacío que muestre nombre1 y nombrea2.
si ago un select y nombrea2 esta vacío que muestre nombrea1 y nombre2 .
si nombrea1 y nombrea2 están vacíos que muestre nombre1 y nombre2

si estan todos los campos llenos que el select muestre nombrea1 y nombrea2.

obiamente el caso de ejemplo es chico pero algo asi es lo que quero saber.. si el select puede llevar if y como implementarlo.

hasta ahora solo se hacer cosas basicas con MySQL.

si hay solucion porfavor comenten, si no hay .. tambien para empesar a trabajar en el codigo y hacer un select para cada caso. igual se me ocurre poner los if por codigo y poner sql.add y seguir concaenando a medida que pase los if ... bueno, ya se me ocurrio como hacerlo por codigo, pero quero saber como se hace via mysql si es que se puede ya que seria la consulta de un reporte entonces prefiero poner el query solamente !

muchas gracias por tu tiempo y leer esto!!
Responder Con Cita
  #2  
Antiguo 01-06-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me imagino que usando:
Case when ....... else......end.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 01-06-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
SELECT
    id, nombre,
    CASE
        WHEN pais="Argentina"    THEN "Argentino"
        WHEN pais="España"       THEN "Español"
        ELSE                     "De algun rincón del mundo"
    END AS nacionalidad
FROM clientes;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 01-06-2010
PablorD PablorD is offline
Miembro
 
Registrado: sep 2008
Posts: 42
Poder: 0
PablorD Va por buen camino
:O case! que bien!... vere si lo puedo implementar, muchas gracias, mañana te cuento que tal me fue.. gracias!!!
Responder Con Cita
  #5  
Antiguo 02-06-2010
PablorD PablorD is offline
Miembro
 
Registrado: sep 2008
Posts: 42
Poder: 0
PablorD Va por buen camino
me fue mal con case e isnull ...

pero lo solucione así

Código SQL [-]
select IFNULL(Nombrea1,nombre1) as algo from Tabla;

esto en caso de que nombrea1 sea null entrega nombre1, si no entrega nombrea1, justo lo que necesitava . y se puede usar en secuencia tambien

Código SQL [-]
select id,algomas,ciudad,IFNULL(Nombrea1,nombre1) as algo,IFNULL(Nombrea2,nombre2) as algo2 from Tabla;


muchas gracias por lo de case. no supe implementarlo para campos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
Consulta sobre App MDI MaMu OOP 4 15-07-2007 21:30:15
consulta sobre .ini bytecero Varios 2 02-02-2005 21:01:09
consulta sobre consulta superhopi SQL 2 16-05-2003 19:01:47


La franja horaria es GMT +2. Ahora son las 07:15:22.


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