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

Problema con sinonimos

Estas en el tema de Problema con sinonimos en el foro de Mysql en Foros del Web. Hola lo que pasa es que ahora tengo el siguiente problema, tengo un buscador el cual necesito encontrar los resultados si dice pluma o boligrafo ...
  #1 (permalink)  
Antiguo 12/03/2013, 14:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 11 años, 6 meses
Puntos: 1
Problema con sinonimos

Hola lo que pasa es que ahora tengo el siguiente problema, tengo un buscador el cual necesito encontrar los resultados si dice pluma o boligrafo o plumas o plumillas

entonces cree una tabla que es

palabras
id_palabra----palabra
1---pluma
2---boligrafo
3---plumas
4---plumillas

y relacion_sinonimos
id_rel---pal1----pal2
1-------1--------2
2-------1--------3
3-------1--------4
4-------1--------5



se entiende que para la pal1 =1(pluma) tiene los sinonimos 2,3,4 y 5


mi consulta es la siguiente:

select * from rel_sinonimos rs
INNER JOIN palabras_sinonimos ps on rs.id_pal1=ps.id_palabra
INNER JOIN palabras_sinonimos ps1 on rs.id_pal2=ps1.id_palabra
where id_pal1='1'

entonces me arroja todos los sinonimos para la palabra pluma (1)

Esta bien!!

pero que pasa si el usuario ingresa la palabra plumilla?

pues no me muestra sinonimos porque no hay un 4(plumilla) en la tabla relacion_sinonimos en el campo pal1


lo que necesito es que sino la encuentra en pal1, lo busque en pal2 y luego obtenga los sinonimos tambien

Gracias!
  #2 (permalink)  
Antiguo 12/03/2013, 15:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 11 años, 4 meses
Puntos: 5
Respuesta: Problema con sinonimos

Hola,

probaste con:

Código MySQL:
Ver original
  1. select * from rel_sinonimos rs
  2. INNER JOIN palabras_sinonimos ps on rs.id_pal1=ps.id_palabra
  3. INNER JOIN palabras_sinonimos ps1 on rs.id_pal2=ps1.id_palabra
  4. where id_pal1='1'
  5. or id_pal2='1'

Saludos.

Etiquetas: campo, join, 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 06:22.