Duvida comando SQL

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Ter, 30 Out 2007 4:50 pm

Tenho um banco que guarda os horarios de entrada e saida dos medicos em um hospital....
Precisaria pegar o intervalo desses 2 horarios e disponibiliza-los de 30 em 30 minutos...

não tenho a menor ideia de como fazer isso, quem puder ajudar eu agradeço e muito...
olcelot
Localização: Sao Paulo SP

Mensagemem Ter, 30 Out 2007 7:01 pm

Não tenho como testar no momento, você poderia fazer algo do tipo:
Código: Selecionar todos
select data_hora_intervalo
from
(
   select a.data_entrada + (b.rnum / 48)
   from  tabela_entrada_saida a
       , (
           select level rnum
           from dual connect by
           level <= (
                      select (nvl(dat_saida, sysdate) - dat_entrada) * 48
                      from   tabela_entrada_saida
                      where  id_medico = 1
                    )
         ) b
   where a.id_medico = 1
);


Ou seja, você precisa somar n * ( 1/48 ) (1 dia = 24 horas, multiplicado por 2 pois o intervalo deve ser de meia em meia hora) dias ao horário de entrada, onde n iria variar de 1 até o número de intervalos de 30 minutos existentes entre a entrada e saída do médico (que é o que o select from dual está fazendo aqui).
rogenaro
Localização: Londrina - PR

Rafael O. Genaro


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


      Voltar para SQL

      Quem está online

      Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes