[firebase-br] SQL de Datas

joao_jma joao_jma em itelefonica.com.br
Seg Jan 17 17:16:04 -03 2011


com uma básica mudança do "AND" pelo "OR" funcionou perfeitamente

MTO OBRIGADO MESMO !!!

AQUI TEM GENTE FERA DE VDD NO ASSUNTO !!!!




----- Original Message ----- 
From: "Alexandre Sousa" <dave.malkavian em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, January 17, 2011 3:07 PM
Subject: Re: [firebase-br] SQL de Datas


Se o cliente tentar reservar o quarto 1 no dia 04/01/2011, nesse cenário
descrito, ele deve ser impedido certo? Visto que já existe uma reserva
que vai do 01 ao dia 05.

Se minha suposição estiver correta, então uma sql semelhante à já
informada resolve:


select * from reservas where
   (:primeiradatarequeridapelocliente between reservas.dtini and
reservas.dtfim) and
   (:ultimadatarequeridapelocliente between reservas.dtini and
reservas.dtfim)

Essa sql verifica o primeiro e o último dia da reserva. Se qualquer um
deles invadir uma reserva existente, deny! ;)

Abraço!

Em 17/01/2011 16:57, joao_jma escreveu:
> NÃO AMIGOS... vc's não entenderam... vou explicar melhor
>
>
> Imaginem a tabela contendo as seguintes reservas:
>
>
> Reserva   Quarto   DtIni                  DtFin
>   1                 1        01/01/2011      05/01/2011
>   2                 1        06/01/2011      10/01/2011
>
>
> Duas reservas lançadas para o Quarto 1
>
> Se o cliente precisar de uma reserva apenas para o dia 04/01/2011 a 
> consulta que vocês me indicaram vai falhar, pois não vai retornar nenhum 
> registro....
>
> não posso fazer o filtro por um campo chamado "DataReserva" como indicaram 
> pq ele não existe, na verdade são 2 campos q determinam data de entrada e 
> data de saída. Entenderam?
>
> [ ]'s
>
>
>
>
>
> ----- Original Message ----- From: "Levy Moreira" 
> <levymoreira.ce em gmail.com>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Monday, January 17, 2011 2:47 PM
> Subject: Re: [firebase-br] SQL de Datas
>
>
> Pronto agora fechou depois dessas duas dicas ficou moleza. o Sr. Nunes deu 
> o
> código a você de presente.
>
> Em 17 de janeiro de 2011 14:45, Reijanio Nunes Ribeiro
> <rnribeiro em gmail.com>escreveu:
>
>> se estiver usando o delphi faça com paramentros
>> consulta.close;
>> consulta.commandtext :=''select * from reservas where dataReserva between
>> :dtini and
>> :dtfim'
>> consulta.params.parambyname('dtini').asdate := aqui o componente pode ser
>> edit/DateTimePicker
>> consulta.params.parambyname('dtfim').asdate := aqui o componente pode ser
>> edit/DateTimePicker
>> consulta.open;
>>
>> e por ai vai
>>
>>
>> Em 17 de janeiro de 2011 14:34, Levy Moreira <levymoreira.ce em gmail.com
>> >escreveu:
>>
>> > Faz assim:
>> > 1-Faz um select:
>> >  'select * from reservas where dataReserva between '01.02.2011' and
>> > '15.02.2011''
>> >
>> > 2-Se o retorno (numero de registros retornados
>> (query.recordcount;)) for
>> >
>> > 1
>> > então há
>> > reserva naquele periodo.
>> >
>> >
>> > Em 17 de janeiro de 2011 15:27, joao_jma <joao_jma em itelefonica.com.br
>> > >escreveu:
>> >
>> > > Estou fazendo um modulo de reserva de quartos num sistema de um
>> hotel.
>> > >
>> > > O cliente informa a data que chega (DTINI) e a data que vai embora
>> > (DTFIN).
>> > >
>> > > Como faço um SQL para verificar se já existem reservas
>> armazenadas no
>> > > período desejado pelo cliente ?
>> > >
>> > > Obrigado!
>> > >
>> > > João Amorim
>> > >
>> > >
>> > > ______________________________________________
>> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> > >
>> >
>> >
>> >
>> > --
>> > Levy Moreira - Programador
>> > Sistech Informática - Juazeiro do Norte - CE
>> >
>> >
>> ...........................................................................
>> > "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e
>> > seus anexos são destinados exclusivamente ao(s) destinatário(s)
>> acima e
>> > podem conter informações confidenciais sujeitas a restrição legal de
>> > comunicação entre as partes. Caso tenha recebido esta mensagem por
>> engano,
>> > fica V.S.ª ciente de que a distribuição, divulgação ou disseminação
>> das
>> > informações aqui contidas ou anexadas é terminantemente proibida,
>> > sujeitando
>> > o responsável às penalidades aplicáveis. Assim, solicitamos a
>> gentileza
>> > de retorná-la de imediato ao remetente, eliminando-a
>> definitivamente de
>> > seu sistema. Em caso de dúvida, queira por favor entrar em contato."
>> >
>> > "Confidentiality notice" - This message and its attachments are
>> > addressed solely to the persons above and may contain privileged and
>> > confidential
>> > communication. If you have received the message in error, the
>> > distribution or dissemination of the content hereof is prohibited. 
>> > Please
>> > return it
>> > immediately to the sender and please delete the message from your
>> system
>> > on a permanent basis. Should you have any questions, please contact."
>> >
>> >
>> ...........................................................................
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>> >
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
>


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista