Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Select de intervalos


dvenuzka
 Share

Question

Boa tarde

Estou tentando montar um select que verifica os horarios que o veiculo está reservado e automáticamente não exibe para o usuário nas próximas reservas. O que ocorre é que com uma reserva no dia eu consigo eliminar o intervalo, mas se tiver mais de uma não funciona.

Estou anexando uma imagem com mais informações e a query usada. Se alguém puder me ajudar, agradeço.

Sem título.png

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Sabendo que o horário entre 10 e 15 está reservado, temos o select abaixo que retorna todos os horários reservados no intervalo:

 

select cod from horarios where horario between 10:00 and 15:00;
 

Se você deseja saber todos os horários que não estão no range acima então o select deverá ser o seguinte:

 

select * from horarios where NOT cod IN (select cod from horarios where horario between 10:00 and 15:00);
 

 

Link to comment
Share on other sites

  • 0

Boa tarde amigos

Obrigado pelas respostas, mas já resolvi o problema da seguinte forma:

SELECT H.* FROM HORARIOS H
                     WHERE NOT EXISTS (
                           SELECT * FROM RESERVAS R
                                WHERE H.COD BETWEEN R.COD_HORA_SAIDA AND
                                      R.COD_HORA_PREVISTA-1 AND
                                      R.COD_VEICULO = :codveiculo AND
                                      DATE_FORMAT(DATA_SAIDA, \'%d-%m-%Y\') = :codcalendario AND
                                      r.ativa = 1)
                                ORDER BY H.COD;

 

Dessa forma ele só exibe os horários vagos. 

Obrigado

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.1k
×
×
  • Create New...