SELECIONAR REGISTROS PARA UMA DATA ESPECÍFICA
Pessoal, preciso de uma ajuda, tenho uma tabela que tem os seguintes dados:
Já tentei com MAX(), COM TOP 1, nas não consigo trazer os 2 registros apenas.
CHAPA NOVA SITUACAO DATAMUDANCA
104193 A 05/08/2015
104193 F 06/10/2015
104193 A 06/11/2015
105000 A 01/05/2015
105000 F 01/12/2015
105000 A 01/01/2016
Preciso fazer um SELECT que quando eu inserir uma determinada data ele me traga a situação imediatamente ANTERIOR OU IGUAL àquela data, por exemplo:
Quero a situação que encontrava-se no dia 31/01/2016, ele me traria:
104193 A 06/11/2015
105000 A 01/01/2016
Já tentei com MAX(), COM TOP 1, nas não consigo trazer os 2 registros apenas.
CHAPA NOVA SITUACAO DATAMUDANCA
104193 A 05/08/2015
104193 F 06/10/2015
104193 A 06/11/2015
105000 A 01/05/2015
105000 F 01/12/2015
105000 A 01/01/2016
Preciso fazer um SELECT que quando eu inserir uma determinada data ele me traga a situação imediatamente ANTERIOR OU IGUAL àquela data, por exemplo:
Quero a situação que encontrava-se no dia 31/01/2016, ele me traria:
104193 A 06/11/2015
105000 A 01/01/2016
Marcelo Manzini
Curtidas 0
Mais Respostas
Luiz Santos
23/09/2016
Marcelo, não sei se é a solução mais correta, mas foi a única que consegui pensar no momento.
IF OBJECT_ID(N'TEMPDB..#TESTE') IS NOT NULL
DROP TABLE #TESTE
CREATE TABLE #TESTE(
CHAPA VARCHAR(50),
NOVA_SITUACAO CHAR(1),
DATAMUDANCA DATE
)
INSERT INTO #TESTE VALUES
('104193','A',CONVERT(DATE, '05/08/2015', 103)),
('104193','F',CONVERT(DATE, '06/10/2015', 103)),
('104193','A',CONVERT(DATE, '06/11/2015', 103)),
('105000','A',CONVERT(DATE, '01/05/2015', 103)),
('105000','F',CONVERT(DATE, '01/12/2015', 103)),
('105000','A',CONVERT(DATE, '01/01/2016', 103))
SELECT #TESTE.*
FROM #TESTE
INNER JOIN( SELECT CHAPA
, MAX(DATAMUDANCA) AS DATAMUDANCA
FROM #TESTE
WHERE DATAMUDANCA <= '2016-01-31'
GROUP BY CHAPA) AS FILTRO ON FILTRO.CHAPA = #TESTE.CHAPA AND FILTRO.DATAMUDANCA = #TESTE.DATAMUDANCA
GOSTEI 0
Marcelo Manzini
23/09/2016
Obrigado Luiz, era isso mesmo, dessa forma deu certo, apenas inseri alguns filtros pra fechar a consulta.
Vlw
Vlw
GOSTEI 1