Hola Chicos,
Debe ser para uds. algo totalmente trivial, pero la verdad es que para mi no =D
Sucede que tengo 6 tablas, Alum_Datos, Alum_Direc, Alum_Tutor, Catalogo_Carrera, Catalogo_Estados, Catalogo_Municipio, con datos de mis alumnos. Lo que necesito es consultar de acuerdo a su matricula, eso ya lo tengo, lo que me viene trabando las ideas es como sustituir la clave foranea del Estado, Municipio y Carrera en la consulta.
La consulta mostrandome los datos es esta, y funciona bien:
Código:
SELECT a.Alum_AP,a.Alum_AM,a.Alum_Nombre,
d.Alum_Calle,d.Alum_No, d.Alum_Colonia,
d.Alum_CP, d.Id_Municipio, d.Id_Estado,
d.Alum_Pais, a.Alum_Tel_Casa, a.Alum_Tel_Cel,
a.Alum_Fecha_Nac, a.Alum_Lugar_Nac, a.Alum_Sexo,
a.Alum_No_Solicitud,a.Alum_Puntaje_obt,
a.Id_Carrera,
t.Tutor_AP, t.Tutor_AM, t.Tutor_Nombre,
t.Tutor_Calle, t.Tutor_Numero, t.Tutor_Colonia,
t.Id_Municipio, t.Id_Estado, t.Tutor_Tel_Casa,
t.Tutor_Tel_Cel
FROM alumno_datos a, alumno_direc d, alumno_tutor t
WHERE a.Id_Alumno = '20T107557'
and d.Id_Alumno = a.Id_Alumno
and t.Id_Alumno = a.Id_Alumno;
Lo que necesito es sustituir el Id_Municipio, Id_Estado e Id_Carrera por el nombre respectivo, lo que también me produce problema es que el Id_Municipio e Id_Estado también lo uso para la tabla Alum_Tutor.
Código:
SELECT a.Alum_AP,a.Alum_AM,a.Alum_Nombre,
d.Alum_Calle,d.Alum_No, d.Alum_Colonia,
d.Alum_CP, cm1.Nombre_Municipio, cm2.Nombre_Estado,
d.Alum_Pais, a.Alum_Tel_Casa, a.Alum_Tel_Cel,
a.Alum_Fecha_Nac, a.Alum_Lugar_Nac, a.Alum_Sexo,
a.Alum_No_Solicitud,a.Alum_Puntaje_obt,
cm5.Carrera_Nombre,
t.Tutor_AP, t.Tutor_AM, t.Tutor_Nombre,
t.Tutor_Calle, t.Tutor_Numero, t.Tutor_Colonia,
cm4.Nombre_Municipio, cm3.Nombre_Estado, t.Tutor_Tel_Casa,
t.Tutor_Tel_Cel
FROM alumno_datos a, alumno_direc d, alumno_tutor t
LEFT JOIN catalogo_municipio AS cm1 ON d.Id_Municipio = cm1.Nombre_Municipio
LEFT JOIN catalogo_estados AS cm2 ON d.Id_Estado = cm2.Nombre_Estado
LEFT JOIN catalogo_estados AS cm3 ON t.Id_Estado = cm3.Nombre_Estado
LEFT JOIN catalogo_municipio AS cm4 ON t.Id_Municipio = cm4.Nombre_Municipio
LEFT JOIN catalogo_carrera AS cm5 ON a.Id_Carrera = cm5.Carrera_Nombre
WHERE a.Id_Alumno = '20T107557'
and d.Id_Alumno = a.Id_Alumno
and t.Id_Alumno = a.Id_Alumno;
Me marca error en el primer LEFT JOIN, y según mis ideas locas es porque ando comparando cosas que no debo como el Id_Municipio con el nombre.. la duda es, ¿Entonces como lo establezco?
De antemano mil gracias!! ^^
Espero haberme explicado..