FROM (SELECT CASE WHEN (FERIADO_TAB = 1 OR FERIADO_TAB = 2)
THEN
(SELECT *
FROM(SELECT A.DATA_TAB
FROM TAB A, TAB B
WHERE A.DATA_TAB < B.DATA_TAB
AND A.FERIADO_TAB = 0
AND B.DIA_SEMANA_TAB = 6
AND ROWNUM = 1
ORDER BY A.DATA_TAB DESC))
ELSE
DATA_TAB
END
FROM TAB B
WHERE CENTRO_CUSTO_TAB = 30400
AND DATA_TAB < '20091228'
AND DIA_SEMANA_TAB = 6
AND ROWNUM = 1
ORDER BY DATA_TAB DESC)
WHERE ROWNUM = 1
Esse script é referente a uma regra.
Pra começar; o campo FERIADO_TAB pode ser:
0 - dia util
1 e 2 - feriado
Beleza... e o campo dia_semana_tab pode ser:
1-segunda
2- terça
3- quarta
4-quinta
5-sexta
6-sábado
7-domingo
O que acontece?
Caso meu campo DIA_SEMANA_TAB no script seja 6 (sábado)...
Vamos supor que eu entre com o dia 27/12/2009... deverá retornar o sábado anterior a essa data, caso esse sábado seja feriado, deverá retorna o dia útil anterior a ele, ou seja, vamos supor que dia 26/12/09 seja feriado... deverá retornar dia 25/12/05.
Até ai ta funcionando... porém... dia 25 é feriado.. entaum preciso que me retorne o dia util anterior.. ou seja.. dia 24/12/2009.
Ta devolvendo dia 25/12/09.. mesmo sendo feriado!!
Espero ter sido claro..
Porém, o script acima esta retornando 24/12/2010... e quero que retorne 24/12/2009.
Pergunta
Tiago_BB
ola pessoal.
Tenho o seguinte script:
SELECT *
FROM (SELECT CASE WHEN (FERIADO_TAB = 1 OR FERIADO_TAB = 2)
THEN
(SELECT *
FROM(SELECT A.DATA_TAB
FROM TAB A, TAB B
WHERE A.DATA_TAB < B.DATA_TAB
AND A.FERIADO_TAB = 0
AND B.DIA_SEMANA_TAB = 6
AND ROWNUM = 1
ORDER BY A.DATA_TAB DESC))
ELSE
DATA_TAB
END
FROM TAB B
WHERE CENTRO_CUSTO_TAB = 30400
AND DATA_TAB < '20091228'
AND DIA_SEMANA_TAB = 6
AND ROWNUM = 1
ORDER BY DATA_TAB DESC)
WHERE ROWNUM = 1
Esse script é referente a uma regra.
Pra começar; o campo FERIADO_TAB pode ser:
0 - dia util
1 e 2 - feriado
Beleza... e o campo dia_semana_tab pode ser:
1-segunda
2- terça
3- quarta
4-quinta
5-sexta
6-sábado
7-domingo
O que acontece?
Caso meu campo DIA_SEMANA_TAB no script seja 6 (sábado)...
Vamos supor que eu entre com o dia 27/12/2009... deverá retornar o sábado anterior a essa data, caso esse sábado seja feriado, deverá retorna o dia útil anterior a ele, ou seja, vamos supor que dia 26/12/09 seja feriado... deverá retornar dia 25/12/05.
Até ai ta funcionando... porém... dia 25 é feriado.. entaum preciso que me retorne o dia util anterior.. ou seja.. dia 24/12/2009.
Ta devolvendo dia 25/12/09.. mesmo sendo feriado!!
Espero ter sido claro..
Porém, o script acima esta retornando 24/12/2010... e quero que retorne 24/12/2009.
Espero ter sido claro!!
Atte.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.