Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Luna

[Resolvido] Gerar Tabela de Horários com SQL

Recommended Posts

Bom dia companheiros.

 

Preciso montar uma tela com os horários dos profissionais em um salão. Caso o profissional tenha algum horário marcado aparecerá um X. Exemplo abaixo:

tabela_horario.jpg

Tenho a tabela HORARIO (id_horario,horario), a tabela AGENDA (id_profissional(fk),data,id_horario(fk)) e a tabela PROFISSIONAL (id_profissional,nome,especialidade)

Preciso que na consulta apareçam todos os horários para todos os profissionais mesmo estando marcados ou não.

Alguma sugestão?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando esta query chego ao resultado abaixo para o profissional 1:

select distinct a.id_profissional,ho.id_horario from marcacao.horario ho, marcacao.agenda a
where ho.id_horario not in 
(select h.id_horario from marcacao.horario h, marcacao.agenda a
where h.id_horario=a.id_horario
and a.id_profissional=1)
and a.id_profissional=1

resultado.jpg

Este resultado são os horários livres do profissional 1. Como coloco neste resultado os outros profissionais, de acordo com o modelo solicitado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo assim :

 

SELECT data,

hora,

(CASE WHEN prof='joao' THEN 1 ELSE 0 END) joao,

(CASE WHEN prof='maria' THEN 1 ELSE 0 END) maria,

...

FROM agenda

WHERE data = '04/03/2010'

ORDER BY hora

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.