DISTINT COM INNER JOIN

RICARDO.RAPA 11/10/2016 13:27:23
#468001
Esse código está funcionando mais está mostrando registros com nomes repetidos como faço para acrescentar um DISTINT neste código

[Ô]Select Tab_Contas_Receber.sacado, Tab_Contas_Receber.forma, Tab_Contas_Receber.valor, Tab_Contas_Receber.valorpago, Tab_Contas_Receber.vencimento, Tab_Contas_Receber.datapagamento, Tab_Contas_Receber.situacao, Tab_Contas_Receber.iddebito from Tab_clientes INNER JOIN Tab_Contas_Receber ON Tab_clientes.codCLIENTE = Tab_Contas_Receber.codsacado where Tab_clientes.banco = [ô][Ô] & banco.Caption & [Ô][ô] AND Tab_Contas_Receber.forma = [ô][Ô] & [Ô]DEBITO[Ô] & [Ô][ô] and Tab_clientes.debito = [ô][Ô] & 1 & [Ô][ô] AND Tab_clientes.livre3 = [ô][Ô] & 1 & [Ô][ô] and Tab_Contas_Receber.situacao <> [ô][Ô] & [Ô]Pago[Ô] & [Ô][ô] and Tab_Contas_Receber.situacao <> [ô][Ô] & [Ô]Aberto[Ô] & [Ô][ô] GROUP BY Tab_Contas_Receber.sacado, Tab_Contas_Receber.forma, Tab_Contas_Receber.valor, Tab_Contas_Receber.valorpago, Tab_Contas_Receber.vencimento, Tab_Contas_Receber.datapagamento, Tab_Contas_Receber.situacao, Tab_Contas_Receber.iddebito)[Ô]

Grato
WEBMASTER 11/10/2016 16:13:05
#468004
Experimenta um Select distinct somente no começo da clausula.
Outra coisa que te ajuda é dar alias para as tabelas

NICKOSOFT 12/10/2016 05:59:49
#468012
apenas ajuste ao seu caso, segue um exemplo funcionando
  [Ô]select distinct(alunos.nome),alunos.id from pagamentos inner join alunos on pagamentos.idaluno=alunos.id where substring(pagamentos.vencimento,1,4)=@ano and pagamentos.referente=8 and pagamentos.descricao=@descricao[Ô] 
RICARDO.RAPA 17/10/2016 21:51:47
#468153
Citação:

:
Experimenta um Select distinct somente no começo da clausula.
Outra coisa que te ajuda é dar alias para as tabelas



Coloco distinct no inicio mais continua mostrando tudo!

Como seria? alias para as tabelas? Grato
ALVAROVB2009 17/10/2016 22:08:08
#468155
Alias para as tabelas, é simplesmente dar um nome para poder economizar código

Estava olhando a sua tabela e vi que vc tem muitos dados iguais e o que difere é o vencimento, então o distinct seria melhor colocar nesse campo
Sua query com um Alias, ou um apelido para a tabela ficaria assim
Chamei a a sua tabela Tab_clientes de TC e a Tab_Contas_Receber de TCR, olha como fica mais limpa

Select TCR.sacado, TCR.forma, TCR.valor, TCR.valorpago, TCR.vencimento,TCR.datapagamento, TCR.situacao, TCR.iddebito
from Tab_clientes TC
INNER JOIN Tab_Contas_Receber TCR ON TC.codCLIENTE = TCR.codsacado
where TC.banco = [ô][Ô] & banco.Caption & [Ô][ô]
AND TCR.forma = [ô][Ô] & [Ô]DEBITO[Ô] & [Ô][ô]
and TC.debito = [ô][Ô] & 1 & [Ô][ô]
AND TC.livre3 = [ô][Ô] & 1 & [Ô][ô]
and TCR.situacao <> [ô][Ô] & [Ô]Pago[Ô] & [Ô][ô]
and TCR.situacao <> [ô][Ô] & [Ô]Aberto[Ô] & [Ô][ô]
GROUP BY TCR.sacado, TCR.forma, TCR.valor, TCR.valorpago, TCR.vencimento, TCR.datapagamento, TCR.situacao, TCR.iddebito

E o que eu falei de colocar o distinct no vencimento, ficaria assim a sua primeira linha
Select distinct(TCR.vencimento), TCR.sacado, TCR.forma, TCR.valor, TCR.valorpago, TCR.datapagamento, TCR.situacao, TCR.iddebito

Separei as respostas para poder te mostrar tudo explicadinho

Espero ter te ajudado, qqer coisa posta ai
Tópico encerrado , respostas não são mais permitidas