Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia a todos.
Estou quebrando a cabeça para tentar saber como iria selecionar, somente, o último registro quando os valores de alguns campos forem os mesmos. Esta seleção se faz necessária devido ao valor final, que está dando divergência devido a inclusões feitas de forma errada no sistema.
A situação atual é a seguinte:
CNPJ | INSCRICAO | LOTE | MES | VL INFORMADO | VL CONSIDERADO | DIFERENÇA |
---|---|---|---|---|---|---|
06060606000217 | 1234567800248 | 72 | 1 | R$ 82.188,49 | R$ 96.701,69 | R$ 14.513,20 |
06060606000217 | 1234567800248 | 77 | 1 | R$ 82.188,49 | R$ 96.701,69 | R$ 14.513,20 |
06060606000217 | 1234567800248 | 72 | 3 | R$ 87.302,73 | R$ 144.440,13 | R$ 57.137,40 |
06060606000217 | 1234567800248 | 77 | 3 | R$ 87.302,73 | R$ 144.440,13 | R$ 57.137,40 |
06060606000217 | 1234567800248 | 44 | 4 | R$ 0,00 | R$ 51.183,55 | R$ 51.183,55 |
06060606000217 | 1234567800248 | 51 | 4 | R$ 0,00 | R$ 0,00 | R$ 0,00 |
06060606000217 | 1234567800248 | 72 | 4 | R$ 0,00 | R$ 84.719,41 | R$ 84.719,41 |
06060606000217 | 1234567800248 | 77 | 4 | R$ 0,00 | R$ 84.719,41 | R$ 84.719,41 |
06060606000217 | 1234567800248 | 197 | 4 | R$ 47.070,31 | R$ 84.719,41 | R$ 37.649,10 |
06060606000217 | 1234567800248 | 44 | 5 | R$ 65.051,16 | R$ 66.003,23 | R$ 952.07 |
06060606000217 | 1234567800248 | 51 | 5 | R$ 0,00 | R$ 0,00 | R$ 0,00 |
06060606000217 | 1234567800248 | 44 | 6 | R$ 71.031,64 | R$ 82.617,20 | R$ 11.585,56 |
R$ 522.135,55 | R$ 936.245,85 | R$ 414.110,30 |
Os registros na cor vermelha devem ficar de fora, quando estes estiverem com os valores, na cor amarela, idênticos aos valores do registro seguinte. Levando em conta o Mês como ascendente.
Nesta caso, os registros do lote 72 e 77 possuem as mesmas informações, logo, os lotes 72 seriam descartados, permanecendo somente os registros mais recentes, do lote 77.
O resultado correto deve ser:
CNPJ | INSCRICAO | LOTE | MES | VL INFORMADO | VL CONSIDERADO | DIFERENÇA |
---|---|---|---|---|---|---|
06060606000217 | 1234567800248 | 77 | 1 | R$ 82.188,49 | R$ 96.701,69 | R$ 14.513,20 |
06060606000217 | 1234567800248 | 77 | 3 | R$ 87.302,73 | R$ 144.440,13 | R$ 57.137,40 |
06060606000217 | 1234567800248 | 44 | 4 | R$ 0,00 | R$ 51.183,55 | R$ 51.183,55 |
06060606000217 | 1234567800248 | 51 | 4 | R$ 0,00 | R$ 0,00 | R$ 0,00 |
06060606000217 | 1234567800248 | 77 | 4 | R$ 0,00 | R$ 84.719,41 | R$ 84.719,41 |
06060606000217 | 1234567800248 | 197 | 4 | R$ 47.070,31 | R$ 84.719,41 | R$ 37.649,10 |
06060606000217 | 1234567800248 | 44 | 5 | R$ 65.051,16 | R$ 66.003,23 | R$ 952.07 |
06060606000217 | 1234567800248 | 51 | 5 | R$ 0,00 | R$ 0,00 | R$ 0,00 |
06060606000217 | 1234567800248 | 44 | 6 | R$ 71.031,64 | R$ 82.617,20 | R$ 11.585,56 |
R$ 352.644,33 | R$ 610.384,62 | R$ 257.740,29 |
Estas informações estou trazendo direto da base, via SQL e conto com a ajuda de vocês para poder resolver esta pendenga.
Agradeço antecipadamente por qualquer ajuda, luz no fim do túnel.
Olá Savio, de uma olhada nesse meu exemplo e veja se lhe atende.
Abraços.
Tonial.
Olá Savio, de uma olhada nesse meu exemplo e veja se lhe atende.
Abraços.
Tonial.
Valeu Fernando.
Fiz somente uma alteração do order by adicionando o DESC pois era para retirar o 72 e não o 77, ou seja, permanecer com o mais recente dos lotes.
Muito obrigado meu velho e sucesso pra ti.