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

Buscar en varios campos de una tabla e indicarme en cual lo encontro

Estas en el tema de Buscar en varios campos de una tabla e indicarme en cual lo encontro en el foro de Mysql en Foros del Web. Buenas noches, Queria saber si hay alguna forma de buscar un registro en varios campos de una tabla y a su vez indicarme, en cual ...
  #1 (permalink)  
Antiguo 28/08/2014, 22:22
 
Fecha de Ingreso: agosto-2006
Mensajes: 32
Antigüedad: 17 años, 8 meses
Puntos: 1
Pregunta Buscar en varios campos de una tabla e indicarme en cual lo encontro

Buenas noches,

Queria saber si hay alguna forma de buscar un registro en varios campos de una tabla y a su vez indicarme, en cual fue el que lo encontro.

Conozco la opcion de concatenar pero solo se que el busca en todos los campos y solo me dira si lo encuentra o no, pero no se como hago para que me indique en donde lo hallo.
----

Mi unica solución es hacer condicionales por cada campo....

Gracias
  #2 (permalink)  
Antiguo 29/08/2014, 03:06
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, 5 meses
Puntos: 2658
Respuesta: Buscar en varios campos de una tabla e indicarme en cual lo encontro

MySQL no tiene consultas que realicen iteraciones entre campos de una misma tabla. Las búsquedas deben ser explícitas sobre las columnas que se aplican.
En esencia, deberías crear una sentencia que analice y devuelva todos los campos, y por cada uno de ellos indique si el valor buscado estaba alli o no. Pero no existe una sentenia ni cláusula que devuelva eso en un único campo, con su nombre.
Para lograr algo como lo que quieres tendrías que crear un stored procedure que realice exatamente toda esa lígica, como si lo hicieras en un lenguaje de programación... y eso resultaría muy ineficiente.
En programación sería iterar cada campo devuelto de una tabla resultado, cosa muy sencilla de programar. Pero el SQL no es un lenguaje de programación...

Nota: No es la primera vez que alguien viene con esta misma pregunta, y siempre terminan resolviendo el problema en forma programática. Tengo la impresión de que lo que desean es que la base les de todo, sin necesidad de programar del lado de la aplicación y lamento decirte que eso no es posible en todos los casos.
No es bueno pedirle al DBMS que haga cosas que el lenguaje de programación hace mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 29/08/2014 a las 06:02

Etiquetas: campo, campos, registro, tabla
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 16:15.