montar query com parametros de datas
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:
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:
Rcastro
Curtidas 0