3
respostas

Join esta trazendo registro duplicado.

SELECT m.MovCtrlBancNum, m.MovCtrlBancTipo,m.MovCtrlBancDataDig, LancMovCtrlBancNum, LancMovCtrlBancVal, 
    LancMovCtrlBancNominal, LancMovCtrlBancObs, m.EmpCod, l.TipoLancCod,t.TipoLancNome, l.ContaFinCod,
    lancMovCtrlBancConc, l.LancMovCtrlBancEmitChqNome, l.LancMovCtrlBancEmitChqCpfCgc,l.ContaFinCod, l.BcoNum, l.AgNum,
    pdf.ParcDocFinDupNum, cf.ContaFinNome
    FROM LANC_MOV_CTRL_BANC l left join mov_ctrl_banc m on l.MovCtrlBancNum = m.MovCtrlBancNum                              
                                    left join tipo_lanc t on l.tipolanccod = t.tipolanccod
                    left join PARC_DOC_FIN pdf on l.MovCtrlBancNum = pdf.MovCtrlBancNum and l.empcod = pdf.empcod     
                    left join conta_fin cf  on l.ContaFinCod = cf.ContaFinCod    
    WHERE  LANCMOVCTRLBANCDATAVENC >= @DataIni 
    AND LANCMOVCTRLBANCDATAVENC <= @DataFim
        AND L.EmpCod = @Empcod
    AND (l.TipoLancCod = @TipoDocIni OR @TipoDocIni = '')
    ORDER BY LANCMOVCTRLBANCDATAVENC, l.CONTAFINCOD

Este join (left join PARC_DOC_FIN pdf on l.MovCtrlBancNum = pdf.MovCtrlBancNum and l.empcod = pdf.empcod ) esta trazendo registro duplicado em meu relatorio, pois se eu baixo 3 titulos no sistema com 1 movimento bancario, ele mostra o mesmo movimento 3 x. Como faço para ele mostrar apenas 1 movimento bancario?. O 'Distinct' não da certo, pelo menos não no começo desse codigo, temtei 'o group by' tbm não deu.

3 respostas

O distinct deveria funcionar. Se não está funcionando é porque tem alguma coluna entre essas que está diferente e com isso causando o seu erro.

@Bette Now, ah sim, por isso mesmo não da certo, o numero do titulo e valores alteram, por isso ele não funciona. Não sei como proceder nesse caso.

soma os valores e agrupa o q nao eh valor