Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

No mostrar campos vacíos

Estas en el tema de No mostrar campos vacíos en el foro de Mysql en Foros del Web. Hola, Quiero hacer una consulta a una base de datos pero que no muestre los campos vacíos de cada regístro ¿Alguien puede orientarme? Gracias...
  #1 (permalink)  
Antiguo 13/03/2013, 11:57
 
Fecha de Ingreso: septiembre-2012
Mensajes: 30
Antigüedad: 12 años, 2 meses
Puntos: 0
No mostrar campos vacíos

Hola,

Quiero hacer una consulta a una base de datos pero que no muestre los campos vacíos de cada regístro

¿Alguien puede orientarme?

Gracias
  #2 (permalink)  
Antiguo 13/03/2013, 12:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: No mostrar campos vacíos

Si: hacelo en la programación.
No existe consulta que pueda evitar que MySQL no devuelva un campo que indicas en el SELECT (incluso si usas "*"), si está vacío.
Lo más que puedes hacer es que en lugar de un vacío, te ponga algo.
¿En qué contexto necesitas eso?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/03/2013, 12:13
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: No mostrar campos vacíos

Hola Safre:

Cuando publiques una pregunta en el foro trata de ser lo más claro que puedas en cuanto a lo que quieras obtener. Tu descripción de lo que quieres hacer es demasiado vaga, por lo que resulta complicado darte una respuesta puntual.

Cita:
Quiero hacer una consulta a una base de datos pero que no muestre los campos vacíos de cada regístro
Aquí lo puedo tomar de dos formas, una sería que no quieres que aparezcan campos con en valor NULL o no quieres mostrar registros que tengan algún campo NULL. Checa este ejemplo para ver si te sirve en lo que quieres hacer. Supongamos que tenemos los siguientes datos:

Código MySQL:
Ver original
  1. mysql> SELECT campo1, campo2 FROM tabla;
  2. +--------+--------+
  3. | campo1 | campo2 |
  4. +--------+--------+
  5. | uno    |      1 |
  6. | dos    |   NULL |
  7. | NULL   |      3 |
  8. | NULL   |   NULL |
  9. +--------+--------+
  10. 4 rows in set (0.00 sec)

La función IFNULL te sirve para colocar un valor por defecto cuando el campo al que hace referencia tenga un valor de nulo, es decir:

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     -> IFNULL(campo1, 'campo1 esta vacio') campo1,
  3.     -> IFNULL(campo2, 'campo2 esta vacio') campo2
  4.     -> FROM tabla;
  5. +-------------------+-------------------+
  6. | campo1            | campo2            |
  7. +-------------------+-------------------+
  8. | uno               | 1                 |
  9. | dos               | campo2 esta vacio |
  10. | campo1 esta vacio | 3                 |
  11. | campo1 esta vacio | campo2 esta vacio |
  12. +-------------------+-------------------+
  13. 4 rows in set (0.00 sec)

La otra forma que puedes hacer para no mostrar campos con valores nulos, sería filtrarlos desde el WHERE poniendo IS NOT NULL para todos los campos:

Código MySQL:
Ver original
  1. mysql> SELECT campo1, campo2 FROM tabla
  2.     -> WHERE campo1 IS NOT NULL AND campo2 IS NOT NULL;
  3. +--------+--------+
  4. | campo1 | campo2 |
  5. +--------+--------+
  6. | uno    |      1 |
  7. +--------+--------+
  8. 1 row in set (0.00 sec)

Espero que te sirva, pero si sigues con problemas, tómate el tiempo para escribir más de una línea de texto y explicar a detalle qué es lo que necesitas.

Saludos
Leo.

Etiquetas: campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:10.