Ir para conteúdo

POWERED BY:

Arquivado

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

Alebhz37

Select com insert

Recommended Posts

Pessoal, estou começando agora e estou com dificuldades de fazer o seguinte procedimento:

 

São três tabelas - conforme abaixo:

 

[td]Medicos
Med_id Med_nome
1 Alessandro

config_agenda
age_id Med_id age_dia age_inicio age_fim age_intervalo
1 1 Segunda-feira 08:00 12:00 00:30

Consultas
con_id Med_id age_dia
1 1 Segunda 08:00
2 1 Segunda 08:30
3 1 Segunda 09:00
4 1 Segunda 09:30
5 1 Segunda 10:00
6 1 Segunda 10:30
7 1 Segunda 11:00
8 1 Segunda 11:30
9 1 Segunda 12:00
[/td]

 

Preciso inserir os dados na tabela consulta, baseado na tabela config_agenda fazendo o acréscimo de tempo, no caso 30 minutos.

 

alguém poderia me ajudar?

 

desde já agradeço

 

obs.: minhas tabelas contém outras colunas que não vem ao caso agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daria para fazer por SQL forçando um produto cartesiano entre as duas tabelas e talvez uma 3ª tabela "fajuta" para gerar os horários, usando o número da linha para calcular as horas.

 

Mas, como disse o Roberto Fagundes o melhor e fazer pela linguagem da aplicação, um WHILE da vida.



Exemplo Oracle

 

sysdate - data corrente

rownum - sequencia da linha

trunc - trunca a data

to_char - converte a data em string num formato

USER_TAB_COLUMNS - tabela "fajuta"

SELECT to_char((TRUNC(SYSDATE) + (rownum/2)/24),'dd/mm/yy hh24:mi')
FROM   USER_TAB_COLUMNS
where rownum < 49

 



10/12/13 00:30
10/12/13 01:00
10/12/13 01:30
10/12/13 02:00
10/12/13 02:30
10/12/13 03:00
10/12/13 03:30
10/12/13 04:00
10/12/13 04:30
10/12/13 05:00
10/12/13 05:30
10/12/13 06:00
10/12/13 06:30
10/12/13 07:00
10/12/13 07:30
10/12/13 08:00
10/12/13 08:30
10/12/13 09:00
10/12/13 09:30
10/12/13 10:00
10/12/13 10:30
10/12/13 11:00
10/12/13 11:30
10/12/13 12:00
10/12/13 12:30
10/12/13 13:00
10/12/13 13:30
10/12/13 14:00
10/12/13 14:30
10/12/13 15:00
10/12/13 15:30
10/12/13 16:00
10/12/13 16:30
10/12/13 17:00
10/12/13 17:30
10/12/13 18:00
10/12/13 18:30
10/12/13 19:00
10/12/13 19:30
10/12/13 20:00
10/12/13 20:30
10/12/13 21:00
10/12/13 21:30
10/12/13 22:00
10/12/13 22:30
10/12/13 23:00
10/12/13 23:30
11/12/13 00:00

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.