Consulta sem Tabela

Bom dia,

Tenho uma tabela que me retorna um resultado de horas, exemplo de 08:00 até 10:00.
Existem alguns intervalos pré-definidos, na mesma tabela com outro campo, 10 minutos, por exemplo.
Minha questão é a seguinte, como sou novato no SC, existe como montar uma consulta que me retorne o horário inicial, mais o número de minutos, até o horário final. Exemplo de como eu gostaria de que retornasse:

08:00 - 08:10
08:10 - 08:20
08:20 - 08:30

09:50 - 10:00

Eu queria ter esse “GRID”, para fazer uma chamada de captura em um form, retornando o valor que usuário clicar. Tem como fazer isso?

Não sei se entendi bem.
Mas você pode resolver com union all. Segue exemplo:

select ‘08:00 - 08:10’
union all (select ‘08:10 - 08:20’)
union all (select ‘08:20 - 08:30’)
union all (select ‘08:30 - 08:40’)
union all (select ‘08:40 - 08:50’)

Bom dia Rodrigo,

O problema é tenho apenas três valores na tabela:

hora inicio: 08:00
hora fim: 10:00
intervalo: 10 minutos

Bom, aí não sei se fui eu que não entendi… como ficaria para construir o select com os resultados necessários?

Você precisa então ver o horário início, horário fim e colocar uma linha para cada intervalo?

Esses valores são variáveis e podem ter mais opções?
hora inicio: 08:00
hora fim: 10:00
intervalo: 10 minutos

Poxa… matou…
Isso mesmo… queria uma linha para cada intervalo, para possibilitar o usuário escolher esse horário.
E esses valores não variáveis, tem várias opções, mas sempre com os campos inicio/fim/intervalo preenchidos…

Acho que você consegue resolver de 2 maneiras:

  • criar uma consulta com os registros da tabela e criar um campo para receber os valores, você precisará fazer um for e um if dentro com mktime para incrementar até que a hora final seja completada, porém assim não irá fazer um registro a cada linha apenas vai ficar um campo com os registros, ex:
Inic Fim Incre valores 08 09 10 08:00
08:10
etc...
- segunda opção criar uma tabela --- hora incr horafim --- 08:00 10 08:10 --- 08:10 10 08:20 ---- 08:00 20 08:20 --- 08:20 20 08:40 e assim por diante com todas as opções E ligar essa tabela com a sua com full outer join on 1=1 (assim ligará todos registros a todos) e assim você tira o que não precisar (no caso acima) os incr 20 via where.

Espero que tenha entendido