Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho essa query:
-----------------------------------------------------------------------
SELECT codigo, entrada, alta, sequencia
from atendimentos
where codigo = 108
-----------------------------------------------------------------------
que me retorna o seguinte:
------------------------------------------------------------------------------------------------------------
codigo entrada alta sequencia
108, '21/10/2018 00:00:00', '31/10/2018 00:00:00', 1
108, '07/11/2018 00:00:00', '08/11/2018 00:00:00', 2
108, '11/11/2018 00:00:00', '13/11/2018 00:00:00', 3
108, '12/12/2018 00:00:00', '13/12/2018 00:00:00', 4
------------------------------------------------------------------------------------------------------------
Preciso comparar se a alta da sequencia inferior está num prazo de 15 dias e assim com todas.
Ex:
Minha sequencia 1 não vai ter nenhuma alta acima dela, então ela vai ter a resposta NÃO
A alta da sequencia 1 é menor de 15 dias da entrada da sequencia 2? A resposta vai ser SIM
A alta da sequencia 2 é menor de 15 dias da entrada da sequencia 3? A resposta vai ser SIM
A alta da sequencia 3 é menor de 15 dias da entrada da sequencia 4? A resposta vai ser NÃO
Ficaria assim:
-----------------------------------------------------------------------------------------------------------------------------------------------------
codigo entrada alta sequencia Reinternação
108, '21/10/2018 00:00:00', '31/10/2018 00:00:00', 1 NÃO
108, '07/11/2018 00:00:00', '08/11/2018 00:00:00', 2 SIM
108, '11/11/2018 00:00:00', '13/11/2018 00:00:00', 3 SIM
108, '12/12/2018 00:00:00', '13/12/2018 00:00:00', 4 NÃO
-----------------------------------------------------------------------------------------------------------------------------------------------------
Algum amigo conhece algum comando para fazer isso?TENTE ALGO ASSIM
SELECT A1.CODIGO, A1.ENTRADA, A1.ALTA, A1.SEQUENCIA,
(CASE WHEN (A2.ENTRADA - A1.ALTA) > 15 THEN 'NAO' ELSE 'SIM' END) REINTER
FROM ATENDIMENTOS A1,ATENDIMENTOS A2
WHERE A1.CODIGO = 108
AND A1.SEQUENCIA = A2.SEQUENCIA+1 (+)--PROXIMA
Tente fazervum join com a própria tabela fazendo o join com sequencia=sequencia-1
Se tiver tempo amanhã posto uma solução , estou no tablet , ruim de editar.