Ir para conteúdo

POWERED BY:

Arquivado

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

atiagocl

Comparação Data Comcomitante

Recommended Posts

Preciso criar um procedure/função no Mysql que faça a comparação entre datas de de uma determinada pessoa, para saber se o período é concomitante.

Ex: Ele tem que comparar o 1º registro com todos os demais registros, depois o 2º registro com todos demais, etc... realizar essa comparação até o ultimo registro. Sendo N registros possíveis.

Via programação é facil, eu realizado o código abaixo e ele percorre todas linhas até o fim,

Mas Via SQL no Mysql não sei como proceder.

tbl_TEMPOS.First;
while not tbl_TEMPOS.eof do
begin
end;

Ex: Da tabela abaixo:

id_pessoa data_inicio data_fim

25 01/01/2000 01/01/2001

25 01/01/2002 01/01/2004

25 01/01/2003 01/01/2005

25 01/01/2006 01/01/2010

Quem puder me ajudar agradeço.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites
select *
from   tempos t1,tempos t2
where  t1.id = t2.id
and    ( t1.data_inicio between t2.data_inicio and t2.data_fim
         or
         t1.data_fim between t2.data_inicio and t2.data_fim )

se a tabela tempos tiver algo que separe cada linha (uma coluna sequqncial por exemplo) ficaria melhor

acrescentaria

and t1.sequencia <> t2.sequencial

Compartilhar este post


Link para o post
Compartilhar em outros sites
select *
from   tempos t1,tempos t2
where  t1.id = t2.id
and    ( t1.data_inicio between t2.data_inicio and t2.data_fim
         or
         t1.data_fim between t2.data_inicio and t2.data_fim )

se a tabela tempos tiver algo que separe cada linha (uma coluna sequqncial por exemplo) ficaria melhor

acrescentaria

and t1.sequencia <> t2.sequencial

Obg pela resposta,

Quanto a sequencia a tabela possui sim ok.

Ultima duvida, preciso dar um Update nos registros que esse select ai me mostrar. Pois tenho um campo que receberá 'Sim' caso o tempo seja comcomitante. Como pode fazer? Obg novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria de fazer um cursor para isto , para MySql não conheço a síntaxe todavia.

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.