Query - Como pegar mesmo campo "nome" com 2 FK diferente?

Pessoal, como pegar mesmo campo (nome) 2 vezes com alias diferente?
por exemplo; nome do funcionario_logado e nome_testemunha.
tentei utilizar subquery mas nao deu certo.


Query atual.

SELECT abertura_ocorrencia.data_abertura,
abertura_ocorrencia.diferenca_registrada,
abertura_ocorrencia.observacao_abertura,
abertura_ocorrencia.status,
funcionario.codigo AS codigo_funcionario,
pessoa.nome,
// Como pegar este campo acima 2 vezes (nome_testemunha ,nome_func_logado)
caixa.valor_inicial,
caixa.data_abertura,
caixa.data_fechamento,
caixa.valor_total_fechamento,
caixa.valor_total_venda,
caixa.codigo AS codigo_caixa,
abertura_ocorrencia.funcionario_testemunha_codigo AS codigo_testemunha
FROM abertura_ocorrencia
INNER JOIN caixa ON
abertura_ocorrencia.caixa_codigo = caixa.codigo
INNER JOIN funcionario ON
abertura_ocorrencia.funcionario_testemunha_codigo = funcionario.codigo
AND caixa.funcionario_codigo = funcionario.codigo
INNER JOIN pessoa ON
funcionario.pessoa_codigo =pessoa.codigo

Para o que penso que queres fazer, tens de fazer duas vezes join com a tabela funcionario já que na realidade vais ter dois funcionarios, certo?

FROM abertura_ocorrencia
INNER JOIN caixa ON abertura_ocorrencia.caixa_codigo = caixa.codigo 
INNER JOIN funcionario testemunha ON  abertura_ocorrencia.funcionario_testemunha_codigo = testemunha.codigo 
INNER JOIN funcionario funcCaixa ON caixa.funcionario_codigo = funcCaixa.codigo 
INNER JOIN pessoa pTestemunha ON  testemunha.pessoa_codigo = pTestemunha.codigo
INNER JOIN pessoa pFuncCaixa ON  funcCaixa.pessoa_codigo = pFuncionario.codigo