Oracle - Exibir os atendimentos com tempo de retorno igual ou menor do que 40 dias
18/12/2017
0
Estou em fase de aprendizagem em banco de dados, onde estou tentando criar um select e estou com dificuldade. criei uma base de teste de atendimentos, onde o nome é 'Atendimento' e neste existe uma coluna chamada 'dt_atendimento'. Preciso criar uma consulta, que me retorno os atendimentos que tiveram retorno com data menor ou igual a 40 dias
Nome Tabela: Atendimento
Chave primaria: cd_atendimento
chave estrangeira: cd_paciente
campo Data: dt_atendimento
Relacionamento 1...N, ou seja, um paciente pode ter varias atendimentos
Felipe Silva
Posts
19/12/2017
Luiz Vichiatto
select ate.cd_atendimento, ate.dt_atendimento, pac.NOME, pac.dt_nascimento from ATENDIMENTO ate inner join PACIENTE pac on pac.cd_paciente = ate.cd_paciente where ate.dt_atendimento >= (dt_atendimento - 40)
19/12/2017
Felipe Silva
Estava tentando chegar a seu raciocínio, porem acredito que não satisfaça ao que quero, pois pelo que intendi seu select irá selecionar todos os atendimentos que foram realizados de 40 dias atrás até a data de hoje, correto? Na verdade o que quero é, listar todos os atendimentos que o intervalo entre um e outro foram menor do que 40 dias, independente da data, ou seja, poderá trazer um atendimento do ano passado que teve menos de 40 dias de intervalos entre eles, do mesmo paciente. Estou apanhando feio aqui.
20/12/2017
Luiz Vichiatto
Nas sua questão inicial você não mencionou a data da consulta, apenas a data do atendimento, neste caso fica assim
Para o exemplo DT_AGENDAMENTO foi indicado pois não sei o campo que corresponde.
select ate.cd_atendimento, ate.dt_atendimento, pac.NOME, pac.dt_nascimento from ATENDIMENTO ate inner join PACIENTE pac on pac.cd_paciente = ate.cd_paciente where (ate.dt_atendimento - ate.DT_AGENDAMENTO) >= 40
Se preferir procure mais detalhes em
http://aprendaplsql.com
http://glufke.net
https://www.devmedia.com.br/guia/oracle/34365
Estava tentando chegar a seu raciocínio, porem acredito que não satisfaça ao que quero, pois pelo que intendi seu select irá selecionar todos os atendimentos que foram realizados de 40 dias atrás até a data de hoje, correto? Na verdade o que quero é, listar todos os atendimentos que o intervalo entre um e outro foram menor do que 40 dias, independente da data, ou seja, poderá trazer um atendimento do ano passado que teve menos de 40 dias de intervalos entre eles, do mesmo paciente. Estou apanhando feio aqui.
Clique aqui para fazer login e interagir na Comunidade :)