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

Consulta en búsqueda avanzada

Estas en el tema de Consulta en búsqueda avanzada en el foro de Mysql en Foros del Web. Hola, buenos días... Tengo una duda sobre una consulta, la cuál no sé si se pueda realizar. Tengo un botón, el clásico de búsqueda por ...
  #1 (permalink)  
Antiguo 23/01/2013, 11:00
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Consulta en búsqueda avanzada

Hola, buenos días...

Tengo una duda sobre una consulta, la cuál no sé si se pueda realizar. Tengo un botón, el clásico de búsqueda por palabra clave.

Al darle una palabra, la idea es que busque información en la base de datos, sin embargo tengo mi base con la siguiente estructura:

Tablas:
Videojuegos
Comics
Toys & Collectibles
Películas


Cada tabla tiene sus respectivos campos y no se enlazan entre si, sin embargo, citando un ejemplo, si yo le doy en la búsqueda la palabra "batman", me debería mostrar todo lo relacionado con la palabra batman, y como sabrán, hay videojuegos de este personaje, así como comics, juguetes y películas.

Aunque estructuralmente las tablas no están ligadas, por el objeto a buscar hay una relación entre algunas de ellas, o a veces entre todas o solo una.

Mi pregunta es, ¿cómo debería hacer la consulta? había planteado algo así:

Código SQL:
Ver original
  1. SELECT * FROM videojuegos, comics, toys, peliculas WHERE [campo-articulo] LIKE '%batman%' OR campo-articulo LIKE '%Batman%' ...

Donde el campo que contiene el articulo se llama para cada tabla:

vj_articulo - > para videojuegos
cs_articulo -> para comics
ty_articulo -> para toys
mv_articulo -> para peliculas


Pero cuando lo hice, el resultado que me arrojo no fue el esperado, me mostró todos los campos de todas las tablas y no le hacia mucho caso a la condición en el like.

Si tienen alguna idea o comentario se los agradezco mucho, de antemano muchas gracias y muy buen día!

Saludos!
  #2 (permalink)  
Antiguo 23/01/2013, 11:25
 
Fecha de Ingreso: junio-2011
Mensajes: 139
Antigüedad: 12 años, 10 meses
Puntos: 42
Respuesta: Consulta en búsqueda avanzada

Hola Middrel,

Quizás 13.2.9.4. UNION Syntax te pueda ayudar.
  #3 (permalink)  
Antiguo 23/01/2013, 12:00
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Consulta en búsqueda avanzada

wchiquito, deberías ser wgrandote jaja me vino muy bien el UNION, solucionó lo que necesitaba :)

Código SQL:
Ver original
  1. SELECT gbvj_articulo, gbvj_descripcion FROM gb_videojuegos WHERE gbvj_articulo LIKE '%batman%'
  2. UNION
  3. SELECT gbcomic_articulo, gbcomic_sinopsis FROM gb_comics WHERE gbcomic_articulo LIKE '%batman%'
  4. UNION
  5. SELECT gbfilms_articulo, gbfilms_sinopsis FROM gb_peliculas WHERE gbfilms_articulo LIKE '%batman%'

Ahora sólo exploraré para hacer la consulta un poco más compleja, ya que esa palabra podría aparecer en la descripción de artículo, la sinopsis, etc., y podrían haber variantes para otro tipo de consultas.

Te agradezco por tu comentario ^^

Etiquetas: campos, select, 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 11:29.