[firebase-br] periodos vagos dentro do mes

Adriano dos Santos Fernandes adrianosf em uol.com.br
Seg Set 8 10:10:04 -03 2008


Marco Antonio escreveu:
> TENHO UMA TABELA DE AGENDA E GOSTARIA DE SABER DENTRO DO MÊS OS DIAS
> DISPONIVEIS POR LOCAL. EXEMPLO: O LOCAL_1 ESTA ALUGADO NOS DIAS 1, 3, 5, 7.
> HÁ POSSIBILIDADE DE UMA CONSULTA RETORNAS LOCAL_1 COM OS DIAS 2, 4 e 6 NUMA
> CONSULTA POR PERIODO DE 1 a 6 do mês, ou eu teria de criar algo temporario e
> preencher os espacos com datas na hora da consulta?
> 
Supondo que sua tabela tenha essa estrutura:
agenda
- local
- dia (usando data vc pode usar extract)

Crie uma SP que retorne um intervalo de números:

create procedure sp_intervalo (
     n1 integer,
     n2 integer
)
returns (
     n integer
)
as
begin
     n = n1;

     while (n <= n2) do
     begin
         suspend;
         n = n + 1;
     end
end!

E use da seguinte forma:

select a.local, i.n dia
   from agenda a
   right join sp_intervalo(1, 6) i
     on i.n = a.dia
   where a.local = 'LOCAL_1' and a.dia is null;


Adriano





Mais detalhes sobre a lista de discussão lista