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

Consulta de varias tablas con relación muchos a muchos

Estas en el tema de Consulta de varias tablas con relación muchos a muchos en el foro de Mysql en Foros del Web. Hola que tal, tengo una duda, estoy intentando hacer una consulta sobre dos tablas: articulos y profesor; que tienen una relacion muchos a muchos y ...
  #1 (permalink)  
Antiguo 24/05/2009, 16:32
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Consulta de varias tablas con relación muchos a muchos

Hola que tal, tengo una duda, estoy intentando hacer una consulta sobre dos tablas: articulos y profesor; que tienen una relacion muchos a muchos y esta relación se presenta en una tabla llamada profesor_has_articulo, es decir tiene dos campos: profesor_id_profesor y articulo_id_articulo.

Ahora bien, estas tablas forman parte de un BD que es parte a su vez de una aplicacion web creada con JSPs y Servlets, y este problema surgió al desarrollar un sistema de búsqueda de los articulos que hay en la bd. Para esto estuy utilizando la sentencia SQL "LIKE", pues doy la opcion de que el usuario coloque una palabra clave como criterio de búsqueda y el sistema debe buscar en la base de datos todos los nombres de articulos que contengan la palabra clave ingresada.

Bueno, lo que quiero desplegar es precisamente los articulos que tengan en su nombre la palabra clave que ingrese el usuario, pero quiero desplegar el articulo con su autor. Ahí es donde tengo el problema.

De la tabla articulo estoy seleccionando el campo nom_articulo, que es el nombre del articulo; y de la tabla profesor estoy seleccionando los campos: grado_academico (si es ingeniero, maestro o doctor), nombre, ap_paterno y ap_materno.

Espero alguién me pueda ayudar con la construcción de esa consulta que necesito. Gracias a todos de antemano.
  #2 (permalink)  
Antiguo 24/05/2009, 22:26
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Consulta de varias tablas con relación muchos a muchos

Para solucionar tu problema, debes hacerlo con inner join haciendo salto en la tabla profesor_has_articulo.

Código mysql:
Ver original
  1. select a.titulo, p.nombre from articulos a
  2. profesor_has_articulo pha
  3. on pha.id_articulo = a.articulo
  4. profesor p
  5. on p.id_profesor = pha.id_profesor
  6. where a.titulo like '%algo%';

Nos cuentas como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 30/08/2009, 21:01
 
Fecha de Ingreso: junio-2009
Ubicación: Cusco, Santiago
Mensajes: 4
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Consulta de varias tablas con relación muchos a muchos

hola probe el scrip y me funciono muy bien gracias solo una observacion en la
linea 4 en ves de a.articulo es a.id_articulo eso es todo gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:59.