Penultimo Registro de uma Tabela
Pessoal, tenho uma tabela que se chama PFHSTFER , nela existe o historio de férias do funcionario. e existem varios registros tendo em vista um funcionario que foi admitido a mais de 5 anos, teremos mais de 3 linhas.
Eu preciso retornar a penultima linha desta tabela para comparar com a ultima.... pois um funcionario pode tirar ferias de 15 dias primeiro e depois mais 15.
Segue minha consulta que retorna a ultima linha, queria adaptar a mesma para ter mais duas colunas INICIO_ANTERIOR e FIM_ANTERIOR
Alguém consegue me ajudar?
Eu preciso retornar a penultima linha desta tabela para comparar com a ultima.... pois um funcionario pode tirar ferias de 15 dias primeiro e depois mais 15.
Segue minha consulta que retorna a ultima linha, queria adaptar a mesma para ter mais duas colunas INICIO_ANTERIOR e FIM_ANTERIOR
SELECT PFUNC.CHAPA,PFUNC.NOME, MAX(CONVERT(VARCHAR,PFHSTFER.DTFIMPERAQUIS,103))FIM_PER,CONVERT(VARCHAR,PFUNC.DTVENCFERIAS,103)VENC, CASE WHEN MAX(PFHSTFER.DTFIMPERAQUIS) <> PFUNC.DTVENCFERIAS THEN 'FALSE' ELSE 'TRUE' END VENC_FIM,DATEDIFF(DAY,MAX(PFHSTFER.DTINIPERAQUIS),MAX(PFHSTFER.DTFIMPERAQUIS)) DIAS_AQUIS FROM PFUNC JOIN PFHSTFER ON PFUNC.CHAPA=PFHSTFER.CHAPA AND PFHSTFER.CODCOLIGADA=PFUNC.CODCOLIGADA WHERE PFUNC.CODSITUACAO <>'D' AND PFUNC.CODCOLIGADA=4 GROUP BY PFUNC.CHAPA,PFUNC.NOME,PFUNC.DTVENCFERIAS
Alguém consegue me ajudar?
Felipe Helison
Curtidas 0
Respostas
Alex Lekao
11/09/2012
Ola Felipe, bom dia!!!
voce pode fazer uma subselect e utilizar o top 1 com order by desc e uma condicional entre essa subselect e a select principal, e mais uma condicional as datas desta subselect tem que ser menores que as datas da select principal.
Houve uma discursao parecida com essa a uns topicos anteriores, mas era referente a penultima venda, o principio eh o mesmo.
vou colar o topido e de uma olhada caso tenha algum problema da um toque.
abraco.
Alex - Lekao
https://www.devmedia.com.br/forum/retornar-penultima-compra-do-cliente/423046
voce pode fazer uma subselect e utilizar o top 1 com order by desc e uma condicional entre essa subselect e a select principal, e mais uma condicional as datas desta subselect tem que ser menores que as datas da select principal.
Houve uma discursao parecida com essa a uns topicos anteriores, mas era referente a penultima venda, o principio eh o mesmo.
vou colar o topido e de uma olhada caso tenha algum problema da um toque.
abraco.
Alex - Lekao
https://www.devmedia.com.br/forum/retornar-penultima-compra-do-cliente/423046
GOSTEI 0
Bruno Leandro
11/09/2012
Ola Felipe deu certo a solução proposta?
caso ainda nao tenha dado certo tente algo assim
select top 1 a.*
from tabela a
where a.data <> (select top 1 x.data from tabela x where x.id_tabela = a.id_tabela order by x.data desc )
order by a.data desc
caso ainda nao tenha dado certo tente algo assim
select top 1 a.*
from tabela a
where a.data <> (select top 1 x.data from tabela x where x.id_tabela = a.id_tabela order by x.data desc )
order by a.data desc
GOSTEI 0
Felipe Helison
11/09/2012
Olá! Deu certo sim cara! Muito obrigado pela ajuda.
Ola Felipe, bom dia!!!
voce pode fazer uma subselect e utilizar o top 1 com order by desc e uma condicional entre essa subselect e a select principal, e mais uma condicional as datas desta subselect tem que ser menores que as datas da select principal.
Houve uma discursao parecida com essa a uns topicos anteriores, mas era referente a penultima venda, o principio eh o mesmo.
vou colar o topido e de uma olhada caso tenha algum problema da um toque.
abraco.
Alex - Lekao
https://www.devmedia.com.br/forum/retornar-penultima-compra-do-cliente/423046
voce pode fazer uma subselect e utilizar o top 1 com order by desc e uma condicional entre essa subselect e a select principal, e mais uma condicional as datas desta subselect tem que ser menores que as datas da select principal.
Houve uma discursao parecida com essa a uns topicos anteriores, mas era referente a penultima venda, o principio eh o mesmo.
vou colar o topido e de uma olhada caso tenha algum problema da um toque.
abraco.
Alex - Lekao
https://www.devmedia.com.br/forum/retornar-penultima-compra-do-cliente/423046
GOSTEI 0