Jump to content
Fórum Script Brasil
  • 0

Aparecer registro único


ederss
 Share

Question

Olá!

Por favor, gostaria que alguém me ajudasse com uma dúvida.

Tenho duas tabelas: Pagamentos e Dividas.

Exemplo Tabela Pagamentos:

DATA

CLIENTE

VALOR

05/01/2015

40102020

R$ 50,00

05/01/2015

40102020

R$ 50,00

 

Exemplo Tabela Dívidas:

DATA

CLIENTE

VALOR

30/10/2015

40102020

R$ 50,00

01/11/2015

40102020

R$ 50,00

01/12/2015

40102020

R$ 50,00

 

A ideia é que ao criar relação entre as tabelas pagamentos e dividas apareça apenas duas ocorrências já que só há dois registros na tabela pagamentos. E que os dois registros que forem mostrados sejam os mais antigos da tabela dividas.

O problema é que quando estou relacionando as tabelas as ocorrência ficam se multiplicando, aparecendo diversas vezes.

Alguém pode me ajudar?

Obrigado!

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Observe que em ambas as tabelas você está trabalhando com Datas diferentes, quando você for agrupar os resultados o BD está mostrando tudo por não conseguir agrupar os valores. O ideal é você adicionar chaves primárias e estrangeiras para fazer a relação entre as duas tabelas, do modo que está você não tem como saber qual das dívidas está sendo paga, por exemplo crie na tabela dividas um campo idDivida e o utilize como chave primária da tabela e quando pagar/baixar informar na tabela Pagamento o numero da divida

Exemplo Tabela Divida

IdDivida....dataDeve......codCliente...valorDeve

0001........30/10/2015....4012020.......50,00

0002........01/11/2015....4012020.......50,00

0003........01/12/2015....4012020.......50,00

 

Exemplo Tabela Pagamento:

codDivida...dataPag...codCliente...valorPag

0001.........5/1/2015...4012020.......50,00

0002........5/1/2015...4012020........50,00

 

Note que idDivida é a chave primaria da tabela Divida e codDivida é a chave estrangeira da tabela Pagamento. (será o ponto de relacionamento entre as tabelas, faça o relacionamento a partir deles)

SELECT Divida.idDivida, Divida.dataDeve, Divida.clienteDeve, Divida.valorDeve, Pagamento.codDivida, Pagamento.dataPag, Pagamento.clientePag, Pagamento.valorPag
FROM Divida INNER JOIN Pagamento ON Divida.idDivida = Pagamento.codDivida;

 

O código SQL acima irá gerar uma view/consulta que mostrará os dados das duas tabelas com as dividas que foram pagas.

 

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.1k
×
×
  • Create New...