Que tal amigos bakunos. necesito de su ayuda para resolver un problema en MySQL que me tiene el cerebro seco. Les cuento a grandes rasgos:
Tengo 3 tablas, que son TEMAS, ENLACES y RELACION_TEMA_ENLACE. Las dos primeras tienen su id como llave primaria, un nombre, una descripcion y algunos otros datos irrelevantes. la tercera tabla de relaciones tiene su id como llave primaria y referencia el id del enlace y el id del tema, ya que un enlace puede pertenecer a varios temas y un tema puede tener varios enlaces, es decir, era una relación muchos a muchos y por eso cree la tercera tabla para resolver dicho conflicto.
Hasta ahí todo bien, el problema surge cuando quiero hacer una consulta del tipo "Selecciona nombre y descripcion del enlace que pertenezcan al tema X" osea selecciona de las relaciones todos los ids de enlaces que tengan id de tematica X, y luego todos los ids de enlace que obtengas seleccionalos de la tabla enlace . Espero haberme explicado.
Dado que no se me ocurría una solución, seguí adelante y me surgió otro gran problema: La búsqueda. Dado que uso llaves foraneas en mis tablas, el motor de las mismas tenía que ser InnoDB.... ¡el cual no soporta FULLTEXT! (Cabe aclarar que FULLTEXT es el tipo de campo sobre el que se hacen búsquedas "avanzadas", no como el "LIKE") entonces la solución es mover todo, o al menos la tabla enlaces, a un motor MyISAM y resolver todas las dependencias con el programa, lo cual no quiero. ¿Alguna sugerencia para resolver eso?
Con que me den un norte de que debo hacer es suficiente. Tengo la idea de que usando JOINS logro lo que quiero, pero no se usarlos, por lo que si alguien me pudiera poner un ejemplo de joins estaría perfecto.
Saludos a todos y gracias por su apoyo.
Tengo 3 tablas, que son TEMAS, ENLACES y RELACION_TEMA_ENLACE. Las dos primeras tienen su id como llave primaria, un nombre, una descripcion y algunos otros datos irrelevantes. la tercera tabla de relaciones tiene su id como llave primaria y referencia el id del enlace y el id del tema, ya que un enlace puede pertenecer a varios temas y un tema puede tener varios enlaces, es decir, era una relación muchos a muchos y por eso cree la tercera tabla para resolver dicho conflicto.
Hasta ahí todo bien, el problema surge cuando quiero hacer una consulta del tipo "Selecciona nombre y descripcion del enlace que pertenezcan al tema X" osea selecciona de las relaciones todos los ids de enlaces que tengan id de tematica X, y luego todos los ids de enlace que obtengas seleccionalos de la tabla enlace . Espero haberme explicado.
Dado que no se me ocurría una solución, seguí adelante y me surgió otro gran problema: La búsqueda. Dado que uso llaves foraneas en mis tablas, el motor de las mismas tenía que ser InnoDB.... ¡el cual no soporta FULLTEXT! (Cabe aclarar que FULLTEXT es el tipo de campo sobre el que se hacen búsquedas "avanzadas", no como el "LIKE") entonces la solución es mover todo, o al menos la tabla enlaces, a un motor MyISAM y resolver todas las dependencias con el programa, lo cual no quiero. ¿Alguna sugerencia para resolver eso?
Con que me den un norte de que debo hacer es suficiente. Tengo la idea de que usando JOINS logro lo que quiero, pero no se usarlos, por lo que si alguien me pudiera poner un ejemplo de joins estaría perfecto.
Saludos a todos y gracias por su apoyo.