Hola Ureña, por favor trata de usar las etiquetas delphi para mejor entendimiento, no se ve mejor asi?:
Código Delphi
[-]
frm_DataModule.qry_listDocentes.Close;
frm_DataModule.qry_listDocentes.SQL.Clear;
frm_DataModule.qry_listDocentes.SQL.Add('SELECT ALUMNO.MATRICULA, CALIFICACION.ID_PERIODO, ALUMNO.NOMBRE_ALUM, ALUMNO.APELLIDOP, ALUMNO.APELLIDOM,'+' AREA_ACADEMICA.ID_AREA, AREA_ACADEMICA.NOMBRE_AREA, CALIFICACION.M01, MATERIA.ID_MATERIA, MATERIA.NOMBRE_MATERIA, CT.ID_CT, CT.NOMBRE_CT, DOCENTES.NOMBRE_MA, DOCENTES.APELLIDOP_MA, DOCENTES.APELLIDOM_MA');
frm_DataModule.qry_listDocentes.SQL.Add('AREA_ACADEMICA, CT, ALU_MAT INNER JOIN ALUMNO ON ALU_MAT.MATRICULA = ALUMNO.MATRICULA INNER JOIN CALIFICACION ON ALU_MAT.MATRICULA = CALIFICACION.MATRICULA, MATERIA INNER JOIN DOCENTES ON MATERIA.ID_MATERIA = DOCENTES.ID_MATERIA');
frm_DataModule.qry_listDocentes.SQL.Add('WHERE CALIFICACION.ID_PERIODO = '+QuotedStr(VarToStr(cmb_periodo.KeyValue))+' AND AREA_ACADEMICA.ID_AREA = '+QuotedStr(VarToStr(cmb_aA.KeyValue))+' AND MATERIA.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+' AND DOCENTES.ID_MATERIA = '+QuotedStr(VarToStr(cmb_materia.KeyValue))+'');
frm_DataModule.qry_listDocentes.Open;
frm_DataModule.qry_listDocentes.FetchAll
por lo que he visto hay varios inner join y creo yo que eso no es premitido a menos que hagas sub querys, creo yo, no se.
Saludos.