Duda consulta MySql
Publicado por Mikel (4 intervenciones) el 13/03/2013 10:40:06
Buenos días:
Soy Mikel, estudiante de 3er curso de Ingeniería Técnica en Informática de Gestión. En estos momentos me encuentro en medio del desarrollo de mi proyecto de fin de carrera y a pesar de que pensaba que "medio" dominaba MySql, estoy teniendo una serie de problemas a la hora de realizar unas consultas que me están desesperando. A ver si me podéis echar un cable.
Me explico:
La parte de la BD que me interesa para esta consulta consta de 3 tablas. Las tablas de Alumnos, Habla e Idiomas.
Alumnos(dni, nombre, apellido);
Habla(dni, cod_idioma);
Idiomas(cod_idioma, nom_idioma);
Me duda surge a la hora de imprimir todos aquello alumnos que hablen por ejemplo: Ingés y Alemán. Con un solo idioma lo consigo mediante una serie de joins, pero cuando se trata de la intersección de dos o más idioma, me mata.
Intuitivamente, mi intuición me dirigió por este codigo:
select estudiantes.* from estudiantes, habla, idiomas where estudiantes.dni = habla.dni and idiomas.cod_idioma = habla.cod_idioma and nom_idioma = 'Inglés' and nom_idioma = 'Alemán';
Por supuesto, me devolvió conjunto vació.
A ver si me podéis ayudar a llegar a la solución.
Un saludo y gracias por todo de antemano,
Mikel
Soy Mikel, estudiante de 3er curso de Ingeniería Técnica en Informática de Gestión. En estos momentos me encuentro en medio del desarrollo de mi proyecto de fin de carrera y a pesar de que pensaba que "medio" dominaba MySql, estoy teniendo una serie de problemas a la hora de realizar unas consultas que me están desesperando. A ver si me podéis echar un cable.
Me explico:
La parte de la BD que me interesa para esta consulta consta de 3 tablas. Las tablas de Alumnos, Habla e Idiomas.
Alumnos(dni, nombre, apellido);
Habla(dni, cod_idioma);
Idiomas(cod_idioma, nom_idioma);
Me duda surge a la hora de imprimir todos aquello alumnos que hablen por ejemplo: Ingés y Alemán. Con un solo idioma lo consigo mediante una serie de joins, pero cuando se trata de la intersección de dos o más idioma, me mata.
Intuitivamente, mi intuición me dirigió por este codigo:
select estudiantes.* from estudiantes, habla, idiomas where estudiantes.dni = habla.dni and idiomas.cod_idioma = habla.cod_idioma and nom_idioma = 'Inglés' and nom_idioma = 'Alemán';
Por supuesto, me devolvió conjunto vació.
A ver si me podéis ayudar a llegar a la solución.
Un saludo y gracias por todo de antemano,
Mikel
Valora esta pregunta
0