Tema: Inner Join
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/11/2007, 04:55
valisjan
 
Fecha de Ingreso: noviembre-2007
Mensajes: 7
Antigüedad: 17 años
Puntos: 0
Inner Join

Hola a todos. Soy un poco novatillo en esto del mysql y estaba preparando un formulario de búsqueda de registros. Estoy un poco desesperadillo ya que he googleado un poco pero no hay manera de resolverlo. Pregunto a los maestros a ver si alguien me dice donde me equivoco.

Resulta que tengo una tabla principal con campos id_xxxx que se refieren a un número. Este número se relaciona en otra tabla con un nombre. Lo que yo queria es hacer una consulta en la que en lugar del número se escribiera el nombre (ubicado en otra tabla).

Código:
SELECT assignatures.assignatura
FROM assignatures      INNER JOIN principal         ON assignatures.id_assignatura = principal.id_assignatura
WHERE principal.id_professor = colname AND principal.avaluacio = colname2
Esta consulta me funciona bien. Pero cuando intento poner otro inner join dentro para enlazar otro campo me da error 1066 not unique table/alias
Código:
SELECT 
	departaments.departament, professors.professor, 
	assignatures.assignatura, grups.grup, cursos.curs, 
	nivells.nivell, principal.avaluacio, principal.n_aprovats, principal.n_suspesos, 
	principal.tpc_aprovats, principal.tpc_aprovats_previst, principal.rao_no_tpc_aprovats, 
	principal.c_rebudes, principal.c_no_rebudes, principal.tpc_c_rebudes, principal.tpc_c_rebudes_previst, 
	principal.rao_no_tpc_c_rebudes, principal.u_previstes, principal.u_impartides, 
	principal.rao_no_u_impartides, principal.millora
FROM    assignatures INNER JOIN principal ON assignatures.id_assignatura = principal.id_assignatura,
	departaments INNER JOIN principal ON departaments.id_departament = principal.id_departament,
	grups INNER JOIN principal ON grups.id_grup = principal.id_grup,
	cursos INNER JOIN principal ON cursos.id_curs = principal.id_grup,
	professors INNER JOIN principal on professors.id_professor = principal.id_professor,
	nivells INNER JOIN principal on nivells.id_nivell = principal.id_nivell,
	principal
WHERE principal.id_professor = colname AND principal.avaluacio = colname2

SELECT assignatures.assignatura
FROM assignatures      INNER JOIN principal         ON assignatures.id_assignatura = principal.id_assignatura
WHERE principal.id_professor = colname AND principal.avaluacio = colname2
Lo único que necesito es convertir el id_loquesea en el correspondiente nombre para todos los campos. Qué estoy haciendo mal?