Array
(
)

montar query com parametros de datas

Rcastro
   - 18 jun 2004

Por favor, não consigo montar a query para responder a seguinte lógica:

Funcionários que não registraram atividades no período entre PdataIni e PdataFim, sendo que quero contemplar se:
PdataIni >= data_ini e PdataFim <= data_fim
OU
PdataIni <= data_ini e PdataFim <= data_fim
OU
PdataIni >= data_ini e PdataFim >= data_fim

a query abaixo: não está retornando o que quero...
onde estou errando??

SELECT * FROM FUNCIONARIO
WHERE FUNCIONARIO.MATRICULA NOT IN
(SELECT TAREFAS.MATRICULA FROM TAREFAS
WHERE
((TAREFAS.DATA_INICIAL >= :Param0) AND (TAREFAS.DATA_FINAL <= :Param1)) OR
((TAREFAS.DATA_INICIAL <= :Param2) AND (TAREFAS.DATA_FINAL <= :Param3)) OR
((TAREFAS.DATA_INICIAL >= :Param4) AND (TAREFAS.DATA_FINAL >= :Param5)))

alguem ajuda??? grata de qq. forma :roll: