GARANTIR DESCONTO

Fórum SQL sem quantidade pré-determinada #352141

21/01/2008

0

Tenho que abrir uma ibquery de uma agenda, a qual dependerá do número de funcionários existentes, o que eu não sei previamente. Cada funcionário tem dia e hora distinta para trabalhar. Tenho que descobrir um horário disponível para um cliente, onde mais de um funcionário possa atendê-lo ao mesmo tempo.
Tabela DIAATENDIMENTO tenho os campos de SEGUNDA a DOMINGO, HORAINICIO e HORAFIM para cada dia, e INTERVALO que é um valor fixo de tempo de atendimento.
Tabela AGENDA tenho os campos DIA, HORA, FUNCIONARIO e CLIENTE.
Quando o cliente precisa marcar apenas com um funcionário, não há problema algum, isto está pronto e funcionando, porém o desejado é que eu forneça um horário em um determinado dia e ele me mostre todos os funcionários que estão disponíveis naquele dia e hora, e cujo horário de atendimento coincida com o horário desejado.
EX: Cliente X deseja marcar um horário às 10:00h num determinado dia,
Funcionario1 trabalha das 08:00 as 12:00h, Funcionario2 trabalha das 12:00 as 18:00h, Funcionario3 trabalha das 09:00 as 13:00h e Funcionario4 trabalha das 10:00 as 16:00. Então eu informo o dia e a hora desejada, vou na tabela DIAATENDIMENTO de cada funcionário, vejo quais trabalham naquele dia, depois vou na tabela AGENDA e vejo quais estão disponíveis naquele dia e hora, só que quero fazer isto através de uma ibquery e mostrar num dbgrid!
Grato


Edilcimar

Edilcimar

Responder

Posts

21/01/2008

Castilho

Pelo o que entendi você está precisando de uma instrução SQL onde os filtros sejam feitos por intervalos:
Tente ajustar com essa instrução;

Select campo1, campo2
From AGENDA A
Where DIA Between ´21-jan-2008´ and ´21-jan-2008´
And Hora Between ´08:00´ and ´12:00´


Caso não seja isso, passe um pouco mais de detalhes.


Responder

Gostei + 0

22/01/2008

Edilcimar

não é isto, o que preciso é pegar um determinado dia e hora, pegar todos os funcionários e verificar se eles trabalham neste dia e hora, depois com o resultado disto verificar se eles estão disponíveis neste dia e hora e devolver uma ou mais das seguintes informações:
1) funcionário1 não trabalha neste dia e hora
2) funcionário2 e funcionário3 estão disponíveis neste dia e hora
3) funcionário4 ... funcionárioN estão ocupados neste dia e hora


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar