Jump to content
clickanapolis

Consulta em horarios

Recommended Posts

Pessoal boa noite, tenho uma tabela de horarios de trabalho onde tem varios horarios.

 

das 08 as 12:00
13:00 as 18:00
18:00 as 20:00

 

Alguns funcionario trabalham tipo em 2 horarios como:

 

13:00 as 18:00
18:00 as 20:00

 

Quando faço uma pesquisa buscando qual profissional trabalha tipo das 17:00 as 19:00 não esta achando ninguem.

fiz minha query assim:

select *
from horarios a, horarios_usuario b 
where a.id_horario = b.id_horario_user 
and b.id_profissional = '6' 
and a.horainicio >= '17:00:00' 
and a.horafim <= '19:00:00'

 

o problema que cada horario e uma linha na tabela.

 

Share this post


Link to post
Share on other sites
select *
from horarios a, horarios_usuario b 
where a.id_horario = b.id_horario_user 
and b.id_profissional = '6' 
and ( (a.horainicio between '17:00:00' and '19:00:00')
      or
and   (a.horafim between '17:00:00' and '19:00:00') )

mas depende do formato dos campos de hora 

Share this post


Link to post
Share on other sites

Motta dessa maneira funcionou em partes.

 

O problema por exemplo tenho meus horários cadastrados 08:00 ao 12:00 e 12:00 as 18:00

 

ai um cliente vem procurar um profissional que trabalhe das 07:00 as 09:00

 

Eu não posso aparecer pois as 07 ainda não trabalho, mais dessa forma ele me acha pois das 08 as 09 eu trabalho.

Share this post


Link to post
Share on other sites
Citar

Eu não posso aparecer pois as 07 ainda não trabalho, mais dessa forma ele me acha pois das 08 as 09 eu trabalho.

 

Trocando o "or" por um "and "  .... 

A original disto era para ver horário disponível 

Share this post


Link to post
Share on other sites

Já tinha testado, quando uso o and ele não acha nada.

Mesmo eu colocando por exemplo 09:00 as 10:00 que fica dentro de um horário que eu trabalho não me trás nenhum resultado, com or funciona como falei e o and não.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By wesleycsilva
      Tem uma tabela que relaciona os produtos de uma determinada compra, onde preciso consultar diversos produtos e retornar os ids das compras que tenham todos os produtos que consultei, em uma estrutura parecida com o exemplo abaixo:
       
      SELECT  * FROM  produtos_has_compras WHERE (idProduto = 6 AND idProduto = 77 AND idProduto = 11) GROUP BY idCompra;
       
      Alguém teria uma solução que possa me ajudar?
    • By bradry
      Olá galera !
       
      Tenho uma dúvida referente aos operadores de pesquisa. Tenho uma  tabela com a seguinte estrutura
       
      id integer, CPF varchar ( 20 ), SCORE_CUSTOM varchar ( 20 ),  SCORE varchar ( 20 ), SCORE_CCOG varchar ( 20 ), RESTRITIVO varchar ( 20 ) );
       
      Quando faço uma pesquisa da maneira a baixo colocando aspas simples no ZERO retorna erro, agora quando faço a mesma pesquisa sem aspas me retorna o resultado esperado.
       
      select * from score
      where RESTRITIVO ='0' 
      and SCORE_CUSTOM >=100
      and SCORE_CUSTOM <=200;
       
      Só queria entender se esse funcionamento de aspas vale para tudo que vou pesquisa ou se tem que ser usado em casos específicos. Não consegui encontrar nada sobre na web.
    • By Sapinn
      Salve quebrada, firmesa? É o seguinte estou desenvolvendo um web site em que os aluno enviam textos para o professor corrigir. O que eu quero é que quando o professor corrigir o texto e aluno for ver mostrar o que foi corrigido. 
      Por exemplo se o aluno digitar a seguinte frase:
      Eu gosta mas de você.
      Quando ele for ver a correção terá:
      Eu gosto mas(o correto seria "mais") de você.
       
      Alguém pode me ajudar aqui?
       
    • By jeanzinsousa
      Salve, Galera estou com uma dúvida estudando banco de dados e programação.
       
      escrevi a seguinte query:
       
      SELECT data_pg as diaria, SUM(valor_pg) as valor_diario, SUM(valor_despesa) as valor_despesa, (SELECT SUM(valor_pg) as dinheiro FROM pagamento WHERE tipo = 5 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_dinheiro, (SELECTSUM(valor_pg) as debito FROM pagamento WHERE tipo = 25 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_debito, (SELECT SUM(valor_pg) as credito FROM pagamento WHERE tipo = 15 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) astotal_credito FROM pagamento WHERE MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019 GROUP BY diaria ORDER BY `diaria`
       
      resultado:
      diaria  1 valor_diario valor_despesa total_dinheiro total_debito total_credito   2019-06-10 818.70 0 288.40 586.95 113.30 2019-06-11 169.95 0 288.40 586.95 113.30
       
       
       
       
      Como podem ver meu objetivo e separar por dia o resultado dos valores divididos por tipo de pagamento.
      porém o mesmo mostra a soma total nas subquery.
      quando coloco o group by order by dentro das subquerys apresenta a seguinte mensagem de erro: #1242 - Subquery returns more than 1 row 
       
       
      como resolver?
    • By luigiferrari
      Tem algum comando do Mysql que ao alterar algum dado, ao invés dele ser alterado em todos inserts já feitos, ele ser alterado apenas nos próximos inserts?
      Ou algum método para guardar os últimos dados antes de serem alterados?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.