
29/08/2014, 03:06
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 3 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 |