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

Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Estas en el tema de Buscar en campos FULLTEXT de 2 tablas distintas (mysql) en el foro de Mysql en Foros del Web. ¿Es posible realizar una busqueda (con MATCH y AGAINST) en campos FULLTEXT que se encuentren en tablas distintas y no relacionadas? (con "no relacionadas" me ...
  #1 (permalink)  
Antiguo 23/04/2005, 12:39
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 3 meses
Puntos: 13
Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

¿Es posible realizar una busqueda (con MATCH y AGAINST) en campos FULLTEXT que se encuentren en tablas distintas y no relacionadas? (con "no relacionadas" me refiero a que los datos de ambas tablas no tienen relacion entre si :P)

Por ejemplo:

Tengo 2 tablas:
- Tabla1 (id,mitexto,titulo) donde mitexto es fulltext
- Tabla2 (id,otrotexto,asunto) donde otrotexto es fulltext

Por ejemplo:
Lo que necesito hacer es buscar la frase "es mi nombre" en cualquiera de las dos tablas (especificamente en los campos "mitexto" y "otrotexto").

Haciendo la busqueda en 1 sola tabla no tengo problemas usando:

SELECT id,titulo FROM Tabla1 WHERE MATCH(mitexto) AGAINST(' "es mi nombre" ' IN BOOLEAN MODE)

pero me gustaria saber si es posible hacer la busqueda en las dos tablas simultaneamente.

__________________
El conocimiento es libre: Movimiento por la Devolución
  #2 (permalink)  
Antiguo 08/09/2006, 15:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 201
Antigüedad: 19 años
Puntos: 0
¿has podido resolverlo? ¿como?
  #3 (permalink)  
Antiguo 09/09/2006, 14:23
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 8 meses
Puntos: 0
Yo diría que eso no tiene ningún secreto especial haciéndolo así:

SELECT Tabla1.id,Tabla1.titulo,Tabla2.id,Tabla2.titulo FROM Tabla1, Tabla2 WHERE MATCH(Tabla1.mitexto) AGAINST(' "es mi nombre" ' IN BOOLEAN MODE) OR MATCH(Tabla2.otrotexto) AGAINST(' "es mi nombre" ' IN BOOLEAN MODE)

aunque no lo he probado nunca...
  #4 (permalink)  
Antiguo 16/11/2010, 10:24
 
Fecha de Ingreso: junio-2010
Mensajes: 117
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Lograste resolver ese problema? o alguien sabe como? estoy en el mismo dilema
  #5 (permalink)  
Antiguo 16/11/2010, 10:29
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Saludos

Haz intentado con UNION

Código MySQL:
Ver original
  1. SELECT id,titulo FROM Tabla1 WHERE MATCH(mitexto) AGAINST(' "es mi nombre" ' IN BOOLEAN MODE)
  2. SELECT id,otrotexto FROM Tabla2 WHERE MATCH(otrotexto) AGAINST(' "es mi nombre" ' IN BOOLEAN MODE)
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 16/11/2010, 10:33
 
Fecha de Ingreso: junio-2010
Mensajes: 117
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Nop, ahora lo pruebo y te digo si funciona
  #7 (permalink)  
Antiguo 16/11/2010, 10:40
 
Fecha de Ingreso: junio-2010
Mensajes: 117
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Al parecer si funciona bien, lo implementaré, gracias por tu ayuda
  #8 (permalink)  
Antiguo 16/11/2010, 10:46
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Buscar en campos FULLTEXT de 2 tablas distintas (mysql)

Saludos

Si de esa forma no deberian tener inconveniente ya que toma cada consulta como independiente y la condicion es que ambas deban tener el mismo numero de columnas a seleccionar.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
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 00:30.