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

Listar campos que contengan X

Estas en el tema de Listar campos que contengan X en el foro de Mysql en Foros del Web. Buenas, querría listar los campos de una tabla que contentan un "1" por ejemplo. La tabla es así: Código: Campo1 Campo2 Campo3 Campo4 Campo5 Registro1 ...
  #1 (permalink)  
Antiguo 14/04/2010, 16:51
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Listar campos que contengan X

Buenas, querría listar los campos de una tabla que contentan un "1" por ejemplo.

La tabla es así:
Código:
              Campo1         Campo2        Campo3        Campo4        Campo5
Registro1        0               1            1              0              1
Registro2        0               1            0              1              0
La consulta necesito que me devuelva los campos que contienen un 1.
El Registro1 devolvería: Campo2 Campo3 Campo5
El Registro2 devolvería: Campo2 Campo4

He estado buscando y rebuscando pero no lo he encontrado (o no lo he comprendido bien).

He usado mysql_field_name o mysql_list_fields pero no lo consigo. No sé donde poner que compare el valor de "1" en las sentencias. Ojalá me ayudeis. Quiero esto porque no quiero cargar el script con tantas consultas como campos tengo. Ojalá se pueda hacer. Helpme!!
  #2 (permalink)  
Antiguo 14/04/2010, 17:27
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Listar campos que contengan X

Bueno, a nivel de SQL no lo vas a conseguir, porque una consulta siempre devuelve una tabla con todos los registros con la misma cantidad de columnas, y eso no es lo que tu estás planteando.
Tu problema se debe resolver en PHP, lo que está fuera de los límites de este foro.
__________________
¿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 14/04/2010, 18:36
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Listar campos que contengan X

Hola gnzsoloyo, gracias por responder.

Si como dices, deberé resolverlo mediante php, me parece que me va a tocar hacer tantas consultas como campos tengo (unos 35). Creo que se me va ha hacer demasiado pesada la página... Lo preguntaré por php. De todas formas si alguien tiene alguna idea de como podría simplificarlo se lo agredecería mucho.

Muchas gracias de nuevo.
  #4 (permalink)  
Antiguo 14/04/2010, 19:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Listar campos que contengan X

No estás pensandolo bien: SI la consulta implica una misa tabla o al menos un mismo conjunto de tablas, y se puede recuperar en un solo bloque, lo único que tienes que hacer en PHP es iterar la representación en la web, pero no hacer 35 consultas.
En esencia, recuperas una sola tabla y la recorres para crear la repreentación vidual de los datos, línea a línea y columna a columna...
Ese proceso te llevaría muchísimo menos tiempo que hacer las 35 consultas que dices...

No hay que complicar demasiado los procesos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 15/04/2010, 03:38
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Listar campos que contengan X

Perdón, lo había escrito mal. No me refería a 35 consultas, si no una sóla consulta, y luego 35 IF, bien con un array, comprobando si cada campo tiene o no un 1. Bueno, creo que me va a tocar hacerlo así no? aunque es lo que quería evitar.
  #6 (permalink)  
Antiguo 15/04/2010, 05:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Listar campos que contengan X

Infortunadamente la tabla qmue te estás planteando es asimétrica, por lo que no hay otra posibilidad...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 15/04/2010, 15:57
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Listar campos que contengan X

Sí gnzsoloyo, va a ser que lo voy a tener que hacer así. En fin... gracias por todo.

Saludos

Etiquetas: campos, listar
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 14:07.