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

buscador para dos tablas

Estas en el tema de buscador para dos tablas en el foro de Mysql en Foros del Web. Hola, tengo que hacer un buscador simple que recibe un solo parametro y busca en dos tablas todos los registros que contengan ese parametro en ...
  #1 (permalink)  
Antiguo 28/11/2007, 10:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 8 meses
Puntos: 0
buscador para dos tablas

Hola, tengo que hacer un buscador simple que recibe un solo parametro y busca en dos tablas todos los registros que contengan ese parametro en algun campo. Las dos tablas no tienen nada que ver una con la otra, solamente se busca en las dos tablas con el mismo parametro y quiero que la consulta devuelva todos los registros que contienen ese parametro (y que los registros no se combinen, que se devuelva como si se hubiera hecho una consulta a una tabla sola)
Si es posible, ordenar según los campos de ID por ej, si los registros 1 y 2 de las dos tablas contienen el parametro que la consulta devuelva en el orden registro 1 de tabla 1, registro 1 de tabla 2, registro 2 de tabla 1, registro 2 de tabla 2.
Ya lo hice haciendo dos mysql_query, y luego ordenando con un algoritmo a estos dos juegos de registros y meter todo en un gran array, pero no quiero esto. Quiero hacerlo con un solo query, ¿es posible? Es que me seduce mucho la idea de que con una sola consulta bien hecha se pueda sustituir todo lo que ya hice.
  #2 (permalink)  
Antiguo 28/11/2007, 10:06
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Re: buscador para dos tablas

se me ocurre, no entrare en detalles del porque lo haces asi, solo considero lo que has puesto, podria ser asi

select * from tablaA, TablaB
where tablaA.campo1 like '%busqueda%' or tablaB.Campo2 like '%busqueda'

ahora bien como nose que es exactamente, con FULLTEXT search podrias crear relevancias en los datos encontrados y tener una forma mas inteligente de ordenar los resultados, no estoy seguro si el query anterior funciona como deberia pues no lo he probado, pero es una idea
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #3 (permalink)  
Antiguo 28/11/2007, 15:50
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
Re: buscador para dos tablas

Condiciones necesarias y suficientes para responder esa consulta:
1. Las tablas tienen que devovler la misma cantidad de columnas, del mismo tipo y en el mismo orden.
2. Debe realizarse una consulta con UNION del tipo de:
SELECT A, B, C, D FROM TABLA1 UNION ( SELECT D, E, F, G FROM TABLA2) AS T2 RODER BY A; donde D, E, F y G se corresponden en tipo y orden a A, B, C y D. Pueden o no usarse alias.
3. Nunca, NUNCA, por seguridad, usar el selector '*'.
  #4 (permalink)  
Antiguo 28/11/2007, 17:03
 
Fecha de Ingreso: septiembre-2005
Mensajes: 32
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: buscador para dos tablas

Voy a probar esa solución gracias por las respuestas compañeros.
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 04:29.