SELECIONAR REGISTROS PARA UMA DATA ESPECÍFICA
23/09/2016
0
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
Curtir tópico
+ 0
Responder
Posts
23/09/2016
Luiz Santos
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
Responder
27/09/2016
Marcelo Manzini
Obrigado Luiz, era isso mesmo, dessa forma deu certo, apenas inseri alguns filtros pra fechar a consulta.
Vlw
Vlw
Responder
Clique aqui para fazer login e interagir na Comunidade :)