Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde prezados,
Preciso gerar um relatório para extrair somente o último saldo por produto em determinada data. Acontece que tem diversos saldos na mesma data. Seria um relatório de estoques. Fiz a seguinte consulta:
select
idprd
,convert(varchar(10),DATAMOVIMENTO,103)
,SALDOFILIAL
,CUSTOMEDFILIAL
,totalfilial
from TRELSLD AS A
where IDPRD=83
Retorno:
ID Data Quantidade Custo Médio Total
83 21/02/2017 8487.0000 0.1383 1173.9731
83 21/02/2017 8486.0000 0.1383 1173.8348
83 21/02/2017 8485.0000 0.1383 1173.6965
83 21/02/2017 8484.0000 0.1383 1173.5582
Preciso que retorne apenas a última linha por produto (ID):
ID Data Quantidade Custo Médio Total
83 21/02/2017 8484.0000 0.1383 1173.5582
Tentei com TOP e MAX, mas não consegui!
Agradeço se alguém puder ajudar.
Adriano.Olá Motta,
Testei e deu certo parcialmente, pois gera mais que uma linha, pois mesmo contendo h:m:s gera linhas iguais.
Obrigado.
Tem alguma chave sequencial ou campo que "desempate" ?
>
Em 2017-3-8 at 22:05, Motta disse:
Tem alguma chave sequencial ou campo que "desempate" ?
Olá!
Percebi que tem a coluna "sequencial". Esta diferencia os lançamentos na mesma data.

faz uma sql do tipo
select *
from tabela 1 , tabela t2
where t2.sequencial = t1.sequencial-1
com tudo em uma linha fica fácil calcular diferenças.Boa Tarde, pelo que entendi a coluna "Sequencial" é o campo chave e crescente. se for isso mesmo é só usar o MAX(SEQUENCIAL) que trará somente o ultimo.
OSS ... Osu Shinobu ... Persistir sob Pressão
No campo "data" é gravado a data e hora ?
Se sim tente
select *
from saldos s1