Relacionamento entre tabelas

tenho duas tabelas:

tb_plano_contas
id int ai pk,
conta int(3) not null,
classificacao varchar(20) not null,
nome_conta varchar(60) not null;

tb_movimento
id int ai pk,
numero_lote int not null,
mov_data date not null,
mov_debito int(3) not null,
mov credito int(3) not null,
mov_valor decimal(10,2) not null,
mov_historico varchar(100) not null

Quero fazer um select onde traga todos os dados de tb_movimento e mais o campo ‘nome’ e ‘classificacao’ da tabela tb_plano_contas.

lembrando que a tabela tb_movimento possui muitos registros (mov_debito e mov_credito) e a tabela tb_plano_contas apenas um registro para cada conta.

Na pesquisa utilizo
tb_movimento.mov_debito = tb_plano_contas.conta
tb_movimento.mov_credito = tb_plano_contas.conta

Já tentei vários join e subquery mas sempre com o mesmo problema.

trás apenas o nome de uma das contas (tb_plano_cotas.nome) ou somente a débito ou somente á crédito. Preciso que venho o nome das duas contas, tanto a débito quanto a crédito sem repetir o nome a débito no nome da conta a crédito ou vice-versa.

Qual coluna que relaciona a tb_plano_contas com a tb_movimento ?

Eu não criei uma fk mas estou tentou relaciona a coluna mov_debito da tb_movimento com a coluna conta da tb_plano_contas. Mas preciso relacionar também a coluna mov_credito da tb_movimento com a coluna conta da tb_plano_contas.

Quando faço um join, trás apenas um dos nome, ou o nome da conta a debito ou o nome da conta a credito. Até ai tudo bem, mas preciso que traga o nome das duas contas, tanto a debito quanto a credito.
Só conseguir trazer o nome de uma delas, o nome da segunda conta ou repete o nome da primeira ou não funciona.

Tem como fazer pelo banco de dados ou tem que fazer via programação no sistema?

Valeu Lucas_Camara, entendi. Fiz aqui e deu certo. Mudei minha chave estrangeira e funcionou perfeitamente. Obrigado

1 curtida