DISTINT COM INNER JOIN
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
[Ô]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
Experimenta um Select distinct somente no começo da clausula.
Outra coisa que te ajuda é dar alias para as tabelas
Outra coisa que te ajuda é dar alias para as tabelas
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[Ô]
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
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
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