Duarte_ Postado Março 23, 2008 Denunciar Share Postado Março 23, 2008 Olá amigos, estou trabalhando com o oracle 9iestava querendo fazer um select na tabela de documentos no período x,por exemplo e fazer uma soma, com determinadas condiçõestipofor select campo1,campo2,campo3,campo4 from documentos where between (periodo1 e periodo2)begin if condicao1 argumentos endif if condicaon argumentos endifenddai retornando os argumentos para os campos selecionadosnão sei se fui especifico, mas se alguém entendeu me dê uma força agradeço de + Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 webdeveloper Postado Março 24, 2008 Denunciar Share Postado Março 24, 2008 Não entendi, você quer fazer uma Procedure? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Duarte_ Postado Março 25, 2008 Autor Denunciar Share Postado Março 25, 2008 amigo este select está no oracle 9i dá pra otmizá-lo?// Sql - Canal/Supervisor/VendedorSELECT COD_EMPRESA, COD_CANAL, NOME_CANAL, COD_SUPERV, NOME_SUPERV, COD_REPRES_1, NOME_REPRES, TOT_DUPL_VENC, TOT_PROMIS_VENC, TOT_BOLETOS_VENC, TOT_JUROSREC_VENC, TOT_CHEQUES_VENC, TOT_CHEQ_C_VEND_VENC, TOT_PORT_N_DEF_VENC, TOT_DUPL_AVENC, TOT_PROMIS_AVENC, TOT_BOLETOS_AVENC, TOT_CHEQUES_AVENC, TOT_CHEQ_C_VEND_AVENC, TOT_PORT_N_DEF_AVENCFROM ( SELECT COD_EMPRESA, COD_CANAL, NOME_CANAL, COD_SUPERV, NOME_SUPERV, COD_REPRES_1, NOME_REPRES, SUM(TOT_DUPL_VENC) TOT_DUPL_VENC, SUM(TOT_PROMIS_VENC) TOT_PROMIS_VENC, SUM(TOT_BOLETOS_VENC) TOT_BOLETOS_VENC, SUM(TOT_JUROSREC_VENC) TOT_JUROSREC_VENC, SUM(TOT_CHEQUES_VENC) TOT_CHEQUES_VENC, SUM(TOT_CHEQ_C_VEND_VENC) TOT_CHEQ_C_VEND_VENC, SUM(TOT_PORT_N_DEF_VENC) TOT_PORT_N_DEF_VENC, SUM(TOT_DUPL_AVENC) TOT_DUPL_AVENC, SUM(TOT_PROMIS_AVENC) TOT_PROMIS_AVENC, SUM(TOT_BOLETOS_AVENC) TOT_BOLETOS_AVENC, SUM(TOT_CHEQUES_AVENC) TOT_CHEQUES_AVENC, SUM(TOT_CHEQ_C_VEND_AVENC) TOT_CHEQ_C_VEND_AVENC, SUM(TOT_PORT_N_DEF_AVENC) TOT_PORT_N_DEF_AVENC FROM ( SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, DC.VAL_SALDO TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) < '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.IES_TIP_PORTADOR = 'C' AND SUBSTR(DC.NUM_DOCUM,3,2) <> 'VP' AND SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) <> 'P' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, DC.VAL_SALDO TOT_PROMIS_VENC, 0 TOT_SALDO_BOLETOS_VENC, 0 TOT_SALDO_JUROSREC_VENC, 0 TOT_SALDO_CHEQUES_VENC, 0 TOT_SALDO_CHEQ_C_VEND_VENC, 0 TOT_SALDO_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) < '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.IES_TIP_PORTADOR = 'C' AND (SUBSTR(DC.NUM_DOCUM,3,2) = 'VP' OR SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) = 'P') AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, 0 TOT_SALDO_PROMIS_VENC, DC.VAL_SALDO TOT_BOLETOS_VENC, 0 TOT_SALDO_JUROSREC_VENC, 0 TOT_SALDO_CHEQUES_VENC, 0 TOT_SALDO_CHEQ_C_VEND_VENC, 0 TOT_SALDO_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) < '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_TIP_PORTADOR = 'B' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND SUBSTR(DC.NUM_DOCUM,3,2) <> 'VP' AND SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) <> 'P' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, 0 TOT_SALDO_PROMIS_VENC, 0 TOT_SALDO_BOLETOS_VENC, DC.VAL_SALDO TOT_JUROSREC_VENC, 0 TOT_SALDO_CHEQUES_VENC, 0 TOT_SALDO_CHEQ_C_VEND_VENC, 0 TOT_SALDO_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) < '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_PGTO_DOCUM = 'T' AND DC.IES_PENDENCIA = 'S' AND DC.IES_TIP_DOCUM = 'DP' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT CM.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, TO_NUMBER(RTRIM(CM.COD_VENDEDOR)) COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, 0 TOT_SALDO_PROMIS_VENC, 0 TOT_SALDO_BOLETOS_VENC, 0 TOT_SALDO_JUROSREC_VENC, CM.VAL_SALDO TOT_CHEQUES_VENC, 0 TOT_SALDO_CHEQ_C_VEND_VENC, 0 TOT_SALDO_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM CHEQUE_MESTRE CM, VW_CANAL_VENDA CV WHERE CM.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = CM.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = CM.COD_VENDEDOR AND CM.DAT_EMISSAO >= '01/Jan/2008' AND CM.DAT_EMISSAO <= '30/Mar/2008' AND CM.IES_SITUA_CHEQUE = 'N' AND CM.DAT_VENCTO < '17/Mar/2008' AND CM.DAT_VENCTO >= '01/Jan/2008' AND CM.DAT_VENCTO <= '30/Mar/2008' AND CM.COD_VENDEDOR > 0 AND CM.COD_VENDEDOR IS NOT NULL AND CM.VAL_SALDO > 0 UNION SELECT CM.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, TO_NUMBER(RTRIM(CM.COD_VENDEDOR)) COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, 0 TOT_SALDO_PROMIS_VENC, 0 TOT_SALDO_BOLETOS_VENC, 0 TOT_SALDO_JUROSREC_VENC, 0 TOT_SALDO_CHEQUES_VENC, CM.VAL_SALDO TOT_CHEQ_C_VEND_VENC, 0 TOT_SALDO_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM CHEQUE_MESTRE CM, ESTORNO_CHEQUE EC, VW_CANAL_VENDA CV WHERE CM.COD_EMPRESA IN ('01' ) AND CM.IES_SITUA_CHEQUE = 'C' AND CV.COD_EMPRESA = CM.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = CM.COD_VENDEDOR AND CM.DAT_EMISSAO >= '01/Jan/2008' AND CM.DAT_EMISSAO <= '30/Mar/2008' AND CM.DAT_VENCTO < '17/Mar/2008' AND CM.DAT_VENCTO >= '01/Jan/2008' AND CM.DAT_VENCTO <= '30/Mar2008' AND CM.COD_VENDEDOR > 0 AND CM.COD_VENDEDOR IS NOT NULL AND EC.COD_EMPRESA = CM.COD_EMPRESA AND EC.COD_REPRESENTANTE = CM.COD_VENDEDOR AND EC.COD_BANCO = CM.COD_BANCO AND EC.COD_AGENCIA = CM.COD_AGENCIA AND EC.NUM_CONTA = CM.NUM_CONTA AND EC.NUM_CHEQUE = CM.NUM_CHEQUE AND EC.NUM_CPF_CGC = CM.NUM_CPF_CGC AND EC.IES_SITUA_REG IN('A', 'P') AND EC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_SALDO_DUPL_VENC, 0 TOT_SALDO_PROMIS_VENC, 0 TOT_SALDO_BOLETOS_VENC, 0 TOT_SALDO_JUROSREC_VENC, 0 TOT_SALDO_CHEQUES_VENC, 0 TOT_SALDO_CHEQ_C_VEND_VENC, DC.VAL_SALDO TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) < '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_TIP_PORTADOR IS NULL AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, DC.VAL_SALDO TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) >= '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.IES_TIP_PORTADOR = 'C' AND SUBSTR(DC.NUM_DOCUM,3,2) <> 'VP' AND SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) <> 'P' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, DC.VAL_SALDO TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) >= '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.IES_TIP_PORTADOR = 'C' AND (SUBSTR(DC.NUM_DOCUM,3,2) = 'VP' OR SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) = 'P') AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, DC.VAL_SALDO TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) >= '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_TIP_PORTADOR = 'B' AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND SUBSTR(DC.NUM_DOCUM,3,2) <> 'VP' AND SUBSTR(DC.NUM_DOCUM,LENGTH(RTRIM(DC.NUM_DOCUM))-2,1) <> 'P' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 UNION SELECT CM.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, TO_NUMBER(RTRIM(CM.COD_VENDEDOR)) COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, CM.VAL_SALDO TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM CHEQUE_MESTRE CM, VW_CANAL_VENDA CV WHERE CM.COD_EMPRESA IN ('01' ) AND CM.IES_SITUA_CHEQUE <> 'C' AND CV.COD_EMPRESA = CM.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = CM.COD_VENDEDOR AND CM.DAT_VENCTO >= '17/Mar/2008' AND CM.DAT_VENCTO >= '01/Jan/2008' AND CM.DAT_VENCTO <= '30/Mar/2008' AND CM.DAT_EMISSAO >= '01/Jan/2008' AND CM.DAT_EMISSAO <= '30/Mar/2008' AND CM.VAL_SALDO > 0 UNION SELECT CM.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, TO_NUMBER(RTRIM(CM.COD_VENDEDOR)) COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, CM.VAL_SALDO TOT_CHEQ_C_VEND_AVENC, 0 TOT_PORT_N_DEF_AVENC FROM CHEQUE_MESTRE CM, ESTORNO_CHEQUE EC, VW_CANAL_VENDA CV WHERE CM.COD_EMPRESA IN ('01' ) AND CM.IES_SITUA_CHEQUE = 'C' AND CV.COD_EMPRESA = CM.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = CM.COD_VENDEDOR AND CM.DAT_VENCTO >= '17/Mar/2008' AND CM.DAT_VENCTO >= '01/Jan/2008' AND CM.DAT_VENCTO <= '30/Mar/2008' AND CM.DAT_EMISSAO >= '01/Jan/2008' AND CM.DAT_EMISSAO <= '30/Mar/2008' AND CM.COD_VENDEDOR > 0 AND CM.COD_VENDEDOR IS NOT NULL AND EC.COD_EMPRESA (+)= CM.COD_EMPRESA AND EC.COD_REPRESENTANTE (+)= CM.COD_VENDEDOR AND EC.COD_BANCO (+)= CM.COD_BANCO AND EC.COD_AGENCIA (+)= CM.COD_AGENCIA AND EC.NUM_CONTA (+)= CM.NUM_CONTA AND EC.NUM_CHEQUE (+)= CM.NUM_CHEQUE AND EC.NUM_CPF_CGC (+)= CM.NUM_CPF_CGC AND EC.IES_SITUA_REG IN ('A', 'P') UNION SELECT DC.COD_EMPRESA, CV.COD_CANAL, CV.NOME_CANAL, CV.COD_SUPERV, CV.NOME_SUPERV, DC.COD_REPRES_1, CV.NOME_REPRES, 0 TOT_DUPL_VENC, 0 TOT_PROMIS_VENC, 0 TOT_BOLETOS_VENC, 0 TOT_JUROSREC_VENC, 0 TOT_CHEQUES_VENC, 0 TOT_CHEQ_C_VEND_VENC, 0 TOT_PORT_N_DEF_VENC, 0 TOT_DUPL_AVENC, 0 TOT_PROMIS_AVENC, 0 TOT_BOLETOS_AVENC, 0 TOT_CHEQUES_AVENC, 0 TOT_CHEQ_C_VEND_AVENC, DC.VAL_SALDO TOT_PORT_N_DEF_AVENC FROM DOCUM DC, VW_CANAL_VENDA CV WHERE DC.COD_EMPRESA IN ('01' ) AND CV.COD_EMPRESA = DC.COD_EMPRESA AND CV.COD_CANAL IN (52 ,56 ,55 ,50 ,53 ,54 ,49) AND CV.COD_SUPERV IN (540 ) AND CV.COD_REPRES IN (6005) AND CV.COD_REPRES = DC.COD_REPRES_1 AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC) >= '17/Mar/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) >= '01/Jan/2008' AND NVL(DC.DAT_PRORROGADA,DC.DAT_VENCTO_S_DESC + 0) <= '30/Mar/2008' AND DC.DAT_EMIS >= '01/Jan/2008' AND DC.DAT_EMIS <= '30/Mar/2008' AND DC.IES_SITUA_DOCUM <> 'C' AND DC.IES_TIP_PORTADOR IS NULL AND DC.IES_PGTO_DOCUM IN ('P', 'A') AND DC.IES_TIP_DOCUM = 'DP' AND DC.COD_REPRES_1 > 0 AND DC.VAL_SALDO > 0 ) GROUP BY COD_EMPRESA, COD_CANAL, NOME_CANAL, COD_SUPERV, NOME_SUPERV, COD_REPRES_1, NOME_REPRES ) AUX Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Duarte_
Olá amigos, estou trabalhando com o oracle 9i
estava querendo fazer um select na tabela de documentos no período x,por exemplo e fazer uma soma, com determinadas condições
tipo
for
select campo1,campo2,campo3,campo4 from documentos
where between (periodo1 e periodo2)
begin
if condicao1
argumentos
endif
if condicaon
argumentos
endif
end
dai retornando os argumentos para os campos selecionados
não sei se fui especifico, mas se alguém entendeu me dê uma força agradeço de +
Link para o comentário
Compartilhar em outros sites
2 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.