SELECT LEVANDO MAIS DE 5 MINUTOS

Oracle

10/11/2015

Bom dia pessoal, fiz um select pra criar um relatório de contas à pagar. O relatório acabou exigindo que eu criasse vários subselects e não sei exatamente se é por conta disso que está tão lento! Segue o código:
Obs: Banco de Dados Oracle e estou usando o TOAD.

O relatório Básicamente tem que trazer as informações assim:

SEMANA 1 Total Contas a Pagar daquele dia
01-01-2015(segunda) - 20000
01-02-2015(terça) - 30000
01-03-2015(quarta) - 40000
01-04-2015(quinta) - 10000
01-05-2015(sexta) - 0

SEMANA 2
01-08-2015(segunda) - 12000
01-09-2015(terça) - 1000
01-10-2015(quarta) - 2100
01-11-2015(quinta) - 500
01-12-2015(sexta) - 1200






SELECT
DISTINCT
TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') AS MES2,
TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MONTH') AS MES,
TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'W') AS SEMANA,

--SEMANAS DIAS--

--SEMANA1
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEG_S1,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS TER_S1,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUAR_S1,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUIN_S1,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEX_S1,



--SEMANA2
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEG_S2,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS TER_S2,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUAR_S2,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUIN_S2,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEX_S2,



--SEMANA3
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEG_S3,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS TER_S3,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUAR_S3,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUIN_S3,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEX_S3,


--SEMANA4
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEG_S4,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS TER_S4,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUAR_S4,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUIN_S4,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEX_S4,

--SEMANA5
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEG_S5,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS TER_S5,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUAR_S5,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS QUIN_S5,
(SELECT DISTINCT TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'DD/MM/YYYY') FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (usf_ultimo_dia_util(FIN.DTVENC) >= '01/11/2015' AND usf_ultimo_dia_util(FIN.DTVENC) <= '20/11/2015') AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') ) AS SEX_S5,


---------------------------------------------------------------------EMPRESA 1-----------------------------------------------------
--SEMANA 1
-- VALOR TOTAL SEMANA 1
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN2.CODTIPTIT <> 35) AS SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS TERCA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUARTA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUINTA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS SEXTA_S1_E1,
--VALOR PROVISAO SEMANA 1
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_TERCA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUARTA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUINTA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 1 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEXTA_S1_E1,


--SEMANA 2
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35) AS SEGUNDA_S2_E1,

(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS TERCA_S2_E1,

(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUARTA_S2_E1,

(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUINTA_S2_E1,

(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS SEXTA_S2_E1,

--PROVISAO SEMANA 2
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_TERCA_S2_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUARTA_S2_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUINTA_S2_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 2 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEXTA_S2_E1,




--SEMANA 3
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN2.CODTIPTIT <> 35) AS SEGUNDA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS TERCA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUARTA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUINTA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS SEXTA_S3_E1,
--PROVISAO SEMANA 3
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_TERCA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUARTA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUINTA_S3_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 3 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEXTA_S3_E1,



--SEMANA 4
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN2.CODTIPTIT <> 35) AS SEGUNDA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS TERCA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUARTA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUINTA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS SEXTA_S4_E1,

--PROVISAO SEMANA 4
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_TERCA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUARTA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUINTA_S4_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 4 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEXTA_S4_E1,

--SEMANA 5
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN2.CODTIPTIT <> 35) AS SEGUNDA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS TERCA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUARTA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS QUINTA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'N' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS SEXTA_S5_E1,
--PROVISAO SEMANA 5
(SELECT NVL(NVL(SUM(FIN.VLRDESDOB),0),0) FROM TGFFIN FIN WHERE (TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 7 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 1 OR TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 2) AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND ( FIN.DTVENC >= '01/11/2015'
AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEGUNDA_S1_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 3 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_TERCA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 4 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUARTA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 5 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W') = 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_QUINTA_S5_E1,
(SELECT NVL(SUM(FIN.VLRDESDOB),0) FROM TGFFIN FIN WHERE TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'D') = 6 AND TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'W')= 5 AND (FIN.DTVENC >= '01/11/2015' AND FIN.DTVENC <= '20/11/2015') AND FIN.RECDESP = -1 AND FIN.PROVISAO = 'S' AND FIN.DHBAIXA IS NULL AND FIN.CODEMP = 1 AND TO_CHAR(usf_ultimo_dia_util(FIN2.DTVENC),'MM') = TO_CHAR(usf_ultimo_dia_util(FIN.DTVENC),'MM') AND FIN.CODTIPTIT <> 35 AND FIN.CODTIPOPER IN (200,30)) AS PRO_SEXTA_S5_E1


FROM TGFFIN FIN2


WHERE

FIN2.DTVENC >= '01/11/2015'
AND FIN2.DTVENC <= '20/11/2015'
AND FIN2.RECDESP = -1
AND FIN2.DHBAIXA IS NULL
AND FIN2.CODTIPTIT <> 35
AND FIN2.CODTIPOPER IN (200,30)

ORDER BY SEMANA
Michel Silva

Michel Silva

Curtidas 0

Melhor post

Marcos P

Marcos P

10/11/2015

Post novamente o código com a tag "Inserir Codigo", pois, do modo que está, fica difícil entender o que está acontecendo...

Pela quantidade de DISTINCTS no código, não existe dúvida alguma que a causa da lentidão é a quantidade de subqueries aninhadas.

Sugiro que você faça diferente : para cada subquery crie um tabela temporária e, depois, trate tudo de uma só vez baseado nas temporárias.

Também é possível gerar tudo em uma temporária só, diferenciado por semana, empresa e etc... Nesse caso, continue trabalhando com queries de insert separadas.
GOSTEI 1

Mais Respostas

Jothaz

Jothaz

10/11/2015

Post novamente o código com a tag "Inserir Codigo", pois, do modo que está, fica difícil entender o que está acontecendo...

Pela quantidade de DISTINCTS no código, não existe dúvida alguma que a causa da lentidão é a quantidade de subqueries aninhadas.

Sugiro que você faça diferente : para cada subquery crie um tabela temporária e, depois, trate tudo de uma só vez baseado nas temporárias.

Também é possível gerar tudo em uma temporária só, diferenciado por semana, empresa e etc... Nesse caso, continue trabalhando com queries de insert separadas.


Perfeito! Comece seguindo estas dicas para refinar a lógica e DISTINCTS com subqueries é o caminho mais curto para o inferno.
GOSTEI 0
Michel Silva

Michel Silva

10/11/2015

Opa, mas tipo, eu não posso criar uma tabela temporária pq esse relatório vai ficar fixo no ERP da empresa, logo, sempre vão tá gerando esse relatório!

Com relação aos DISTINCTS, atrapalha muito na performance?
GOSTEI 0
Marcos P

Marcos P

10/11/2015

Tabela temporária, como o próprio nome já diz, é um objeto que existe apenas na sessão que executa a query.

Portanto, o fato de existir uma ( ou mais ) temporária em cada consulta, não é restrição alguma.

Quanto à performance do DISTINCT + Subquery, sua consulta é um belo exemplo de como não fazer as coisas !
GOSTEI 0
Michel Silva

Michel Silva

10/11/2015

E como seria uma bom exemplo? Não consegui pegar a sua lógica! Se tivesse como me mostrar um esboço só pra eu pegar a ideia e depois continuar sozinho, quebraria um galhão!
GOSTEI 0
Marcos P

Marcos P

10/11/2015

Coloca teu Skype ou Gtalk, aqui...

Quando eu tiver um tempo, te chamo...
GOSTEI 0
Michel Silva

Michel Silva

10/11/2015

michel.silva@sankhya.com.br Skype!! =))) Valeu mesmo!
GOSTEI 0
POSTAR