Usuário com melhor resposta
SQL SERVER

Pergunta
-
Gente, boa noite! Estou com uma dúvida quanto a um SELECT no SQL Server, se alguém puder me ajudar, segue:
SELECT horimetroColeta FROM tblHorasTrabalhadasConsumo WHERE dataLancamento =
(SELECT MAX(dataLancamento) FROM tblHorasTrabalhadasConsumo WHERE dataLancamento < @dataLancamento AND idEquipamento = @idEquipamento)No caso a tabela possui algumas informações onde quero filtrar pela maior data existente (dataLancamento) que seja menor do que a data que eu informei e também pelo ID (idEquipamento), este trecho está trazendo dois resultados, parece que não obedece as duas condições, apenas o MAX. Exemplo:
HORIMETRO DATA IDEQUIPAMENTO
100 2019-06-28 10
200 2019-06-28 11
Como as datas são iguais ele retorna 100 e 200 não obedece o idEquipamento.
- Movido welington jr terça-feira, 2 de julho de 2019 12:32 forum mais especifico
Respostas
-
Bom dia,
Luiz, experimente fazer uns testes dessa forma:
SELECT TOP(1) horimetroColeta FROM tblHorasTrabalhadasConsumo WHERE dataLancamento < @dataLancamento AND idEquipamento = @idEquipamento ORDER BY dataLancamento DESC
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Luiz Henrique Passos terça-feira, 2 de julho de 2019 16:25
Todas as Respostas
-
Bom dia,
Chegou a testar com um número fixo no IDEQUIPAMENTO? tente
SELECT horimetroColeta FROM tblHorasTrabalhadasConsumo WHERE dataLancamento =
(SELECT MAX(dataLancamento) FROM tblHorasTrabalhadasConsumo WHERE dataLancamento < @dataLancamento AND idEquipamento = 11) -
Bom dia,
Luiz, experimente fazer uns testes dessa forma:
SELECT TOP(1) horimetroColeta FROM tblHorasTrabalhadasConsumo WHERE dataLancamento < @dataLancamento AND idEquipamento = @idEquipamento ORDER BY dataLancamento DESC
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Marcado como Resposta Luiz Henrique Passos terça-feira, 2 de julho de 2019 16:25
-
-