Se eu faço esta consulta
SELECT DISTINCT matricula.idPessoa, pessoa.nome, matricula.idAula, aula.diaSemana, aula.faixaEtaria, aula.horario, aula.nivel, aula.sexo, aula.idLocalAula, localaula.nome, aula.idModalidade, modalidade.nome, aula.idPessoa, pessoa.nome
FROM matricula
INNER JOIN aula ON matricula.idAula = aula.idAula
INNER JOIN pessoa ON matricula.idPessoa = pessoa.idPessoa
AND aula.idPessoa = pessoa.idPessoa
INNER JOIN modalidade ON aula.idModalidade = modalidade.idModalidade
INNER JOIN localaula ON aula.idLocalAula = localaula.idLocalAula
WHERE matricula.idPessoa =48
Não volta nenhum resultado.
Se eu faço esta consulta
SELECT DISTINCT matricula.idPessoa, pessoa.nome, matricula.idAula, aula.diaSemana, aula.faixaEtaria, aula.horario, aula.nivel, aula.sexo, aula.idLocalAula, localaula.nome, aula.idModalidade, modalidade.nome, aula.idPessoa, pessoa.nome
FROM matricula
INNER JOIN aula ON matricula.idAula = aula.idAula
INNER JOIN pessoa ON matricula.idPessoa = pessoa.idPessoa
INNER JOIN modalidade ON aula.idModalidade = modalidade.idModalidade
INNER JOIN localaula ON aula.idLocalAula = localaula.idLocalAula
WHERE matricula.idPessoa =48

Onde está circulado com vermelho quero que apareça o nome do professor.
Se eu faço esta consulta
SELECT DISTINCT matricula.idPessoa, pessoa.nome, matricula.idAula, aula.diaSemana, aula.faixaEtaria, aula.horario, aula.nivel, aula.sexo, aula.idLocalAula, localaula.nome, aula.idModalidade, modalidade.nome, aula.idPessoa, pessoa.nome
FROM matricula
INNER JOIN aula ON matricula.idAula = aula.idAula
INNER JOIN pessoa ON matricula.idPessoa = pessoa.idPessoa
OR aula.idPessoa = pessoa.idPessoa
INNER JOIN modalidade ON aula.idModalidade = modalidade.idModalidade
INNER JOIN localaula ON aula.idLocalAula = localaula.idLocalAula
WHERE matricula.idPessoa =48

Agora o nome do professor aparece. Mas aparece também no campo onde deveria aparecer só o nome do aluno.
Qual o comando certo para que isto aconteça?
A imagem das tabelas
