Jump to content

Search the Community

Showing results for tags 'Oracle'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 152 results

  1. Viniciusr9

    Horas entre datas

    Boa tarde pessoal, basicamente eu preciso do retorno de horas entre duas datas, porém tenho condições a tratar . basicamente tenho 2 colunas ( dt_fim e dt_ini ) que representam data final e data inicial. Preciso da diferença entre as duas retornada em uma outra coluna (hr_ausencias) , porém a cada dia posso computar no máximo 9 horas, e desconsiderar finais de semana e feriados( esses cadastrados em uma tabela) . Seria melhor tratar isso com uma Trigger , um Script PL/SQL , como me sugerem? Agradeço quem puder ajudar.
  2. Boa tarde pessoal, Sei que tem varios tópicos sobre esse erro, porém analisei todos e nenhum foi aplicável ao meu caso ( a maioria era porquê o pessoal esquecia do Group By ao final das Querys) . Se alguém puder ajudar, agradeço . Os campos sem função estão inseridos no group by, porém o erro persiste . SELECT * FROM( select LPAD(C.MES_COMPETENCIA,2,'0') ||'/'||C.ANO_COMPETENCIA AS PROJETO, E.DS_EQUIPE as EQUIPE, SUM(NVL((CC.QT_HORAS_CHEIA - SUM(AU.DT_FIM - AU.DT_INI)*24 ),CC.QT_HORAS_CHEIA)) as "ESFORÇO CALCULADO" from EQUIPE E, COLABORADOR C1, COMPETENCIA C, COMPETENCIA_COLABORADOR CC, AUSENCIAS AU where E.CD_EQUIPE=CC.CD_EQUIPE and C.CD_COMPETENCIA=CC.CD_COMPETENCIA and C1.CD_COLABORADOR=CC.CD_COLABORADOR and C1.STATUS = 1 AND C1.CD_GESTOR <> C1.CD_COLABORADOR AND AU.CD_COLABORADOR (+) = C1.CD_COLABORADOR GROUP BY E.DS_EQUIPE, LPAD(C.MES_COMPETENCIA,2,'0') ||'/'||C.ANO_COMPETENCIA ) VT WHERE VT.PROJETO = ((select to_char(sysdate, 'MM') from dual)||'/'||(select to_char(sysdate, 'RRRR') from dual))
  3. Prezados, boa tarde! Preciso de uma ajuda sendo possível: Tenho o seguinte cenário em uma consulta ( formação de kits de produtos tendo como produto principal um valor igual, ex: produto 1 é formado pelos produtos 2 e 3) select codkit, produtos from kit where codkit = 1 --- ---- 1 2 1 3 Percebem que o resultado traz o codigo do kit (1) e os produtos que compoem este kit (2,3), porem o produto 2 tambem faz parte do kit 4 junto com o produto 10 e produto 3 faz parte do kit 5 junto com o produto 11 sendo: kit 1 (2,3) kit 4 (2,10) kit 5 (3,11). Eu preciso de uma ajuda sobre alguma função que ao comprar os produtos 2 e 3 e estes estando na mesma nota fiscal (select produtos from notafiscal = x) traga o resultado do kit que estes dois produtos juntos formam, exemplo, ao pesquisar (select produtos from notafiscal = x) nesta nota existir os produtos 2 e 3 traga o resultado 1, se na nota existir os produtos 2 e 10 traga o resultado 4 e se existir na consulta dos itens da nota os itens 3 e 11 o resultado seja 5. Caso na pesquisa eventualmente existir por exemplo 10 unidades do item 2, 5 unidades do item 3 e 5 unidades do item 10, o resultado deve ser 1 e 4 pois 5 unidades do 2+5 unidades do 3 forma o kit 1 e 5 unidades do 2+ 5 unidades do 10 formam o kit 4. Espero ter explicado de forma a ser entendido e agradeço a ajuda.
  4. estou tentando fazer a conexão ao banco de dados oracle 11g no delphi 10.2 pelo fireDAC e está reportando o seguinte erro ao conectar:[FireDAC][Phys][Ora] Ora-12546: TNS: permission denied.já mandei para o DBA para verificar e ainda não consegui o retorno, fiz o teste conectando em outro banco de dados por exemplo do firebird e conectou ok...Alguém saberia me disse qual seria esta permissão para resolver o problema???
  5. alextds

    sql para rank das 5 maiores vendas

    olá gostaria de saber como fazer para obter o rank das 5 maiores vendas. tenho a seguinte tabela: data produto valor 31/01/2018 calça 100 31/01/2018 calça 50 31/01/2018 camisa 30 31/01/2018 camisa 30 31/01/2018 sapato 75 31/01/2018 bermuda 100 31/01/2018 meia 10 31/01/2018 tenis 65 31/01/2018 luva 20 31/01/2018 luva 20 31/01/2019 calça 100 31/01/2019 calça 50 31/01/2019 camisa 30 31/01/2019 camisa 30 31/01/2019 sapato 75 31/01/2019 bermuda 100 31/01/2019 meia 10 31/01/2019 tenis 65 31/01/2019 luva 20 31/01/2019 luva 20 Preciso que totalize os valores de acordo a data e produto e que apareça somente os 5 primeiros dessa forma : data produto valor rank 31/01/2018 calça 150 1 31/01/2018 bermuda 100 2 31/01/2018 sapato 75 3 31/01/2018 tenis 65 4 31/01/2018 camisa 60 5 31/01/2019 calça 150 1 31/01/2019 bermuda 100 2 31/01/2019 sapato 75 3 31/01/2019 tenis 65 4 31/01/2019 camisa 60 5 Se alguém tiver uma solução facil agradeço.
  6. samuelpanamericana

    Erro de permissão Oracle

    Olá Pessoal, estou com um problema com relação ao Oracle em nossas máquinas aqui! Quando tentamos acessar o SGT (sistema de gerenciamento textil) através de um usuário de rede comum sem privilégios administrativos na máquina ele apresenta o seguinte erro ERRO: "Oracle não instalado ou seu caminho é inválido. Consulte o seu superior [\Bin\ORA803.dll]" Código de erro 803 O usuário não tem acesso ao Oracle Path por ser um usuário comum sem privilégios administrativos, devido a problemas de segurança não queremos deixar os usuários com privilégios administrativos evitando assim problemas com a alteração e instalação de programas, abrimos esse tópico para resolver este problema da necessidade de ser um administrador da máquina para executar o SGT, precisamos que usuários sejam comuns para acessá-lo! Confirmei que o usuário está tendo privilégios apropriados no caminho binário Oracle. Os usuários têm acesso completo ao caminho "C: \ Oracle", eu já configurei dessa maneira: Cliquei com o botão direito do mouse na pasta oracle/segurança/usuários do domínio/controle total A única maneira que nosso programa(SGT) pode encontrar a pasta oracle é definir os usuários do domínio para o grupo de administradores Porém tivemos alguns problemas ao fazer isso como por exemplo usuarios instalando programas de terceiro e efetuando alterações nas máquinas. Se alguém já passou pela mesma situação ou situação parecida eu ficaria grato se pudessem ajudar!! Atenciosamente Samuel
  7. Script com retorno de dias uteis no mês ( desconsiderando finais de semana e feriados também ( os mesmos cadastrados em uma tabela )), ajuda! Boa tarde, alguém poderia me ajudar , tentei com alguns que vi pela net , fazendo alterações mas não consegui o que gostaria ainda. Preciso de um script que dado um valor (mês/ano) ele retorne a quantidade de dias uteis nesse mês, desconsiderando os sabados e domingos e os feriados listados na tabela de feriados, em Oracle Sql puro ou PL/SQL . Agradeço pela ajuda!
  8. Ola Pessoal! Aqui na minha empresa não existe um usuário por pessoa e sim um usuário único para todos utilizarem (regras da empresa isso). A forma que eles dizem que controla quem esta acessado o banco é pelo IP da maquina. Como eu faço para saber qual USUÁRIO, IP E NOME DA MAQUINA que está fazendo SELECT, UPDATE, INSERT, DELETE em uma determinada tabela(s)? Detalhe, não dou o administrador do banco, somente desenvolvedor. Estou perguntando isso, porque tem outras diretorias que acessão algumas tabelas que são de minha responsabilidade e não tenho noção se está sendo feito alguma modificação nelas. Abraços,
  9. Carolm

    Validação de CNPJ com PL/SQL

    Boa Noite, tenho que solucionar um exercício de PL/SQL ,onde devo encontrar um algorítimo/código para poder analisar um CNPJ ,que sera informado pelo usuário,o SQL Developer deve realizar o cálculo para pegar os dígitos validadores desse CNPJ, e por fim analisar se ele é válido ou inválido e no console apresentar o texto : Valido ou inválido dependendo do resultado obtido com o calculo! Nesse exercício sera aberta uma "tela" que vai pedir pro usuário digitar o numero do CNPJ,esse CNPJ sera capturado e analisado através de um calculo de validação de CNPJ (ira analisar os dígitos verificadores) e com o resultado ele ira informar ao usuário se o numero é VALIDO ou INVALIDO! Enunciado : CRIE UM BLOCO ANÔNIMO PL/SQL ORACLE QUE IRÁ SOLICITAR PARA O USUÁRIO O NÚMERO DO: CNPJ - BLOCO ANÔNIMO-DÍGITO VERIFICADOREu rodei o código abaixo o SQL informou que a função foi compilada,porém não aparece a mensagem dizendo se o numero informado é válido ou inválido...Será que poderiam me ajudar ? set serveroutput on ACCEPT CNPJ PROMPT 'Digite o numero do CNPJ' CREATE OR REPLACE FUNCTION CNPJ (p_cgc IN CHAR) RETURN BOOLEAN IS m_total NUMBER := 0; m_digito NUMBER := 0; BEGIN FOR i IN 1..4 LOOP m_total := m_total + substr(p_cgc,i,1) * (6 - i); END LOOP; FOR i IN 5..12 LOOP m_total := m_total + substr(p_cgc,i,1) * (14 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,13,1) THEN RETURN FALSE; END IF; m_digito := 0; m_total := 0; FOR i IN 1..5 LOOP m_total := m_total + substr(p_cgc,i,1) * (7 - i); END LOOP; FOR i IN 6..13 LOOP m_total := m_total + substr(p_cgc,i,1) * (15 - i); END LOOP; m_digito := 11 - mod(m_total,11); IF m_digito > 9 THEN m_digito := 0; END IF; IF m_digito != substr(p_cgc,14,1) THEN RETURN FALSE; END IF; RETURN TRUE; IF CNPJ(14) = TRUE THEN DBMS_OUTPUT.PUT_LINE('VERDADEIRO'); ELSE DBMS_OUTPUT.PUT_LINE('FALSO'); END IF; END; /
  10. johnklo

    Criar uma "procedure"

    COM BASE NA TABELA HR DO ORACLE Preciso criar uma sub-rotina (procedure) que imprima na tela o número de funcionários (employees) agrupados por departamentos (department_id). Deve-se ordenar a saída em ordem decrescente pela quantidade de departamentos. Pode-se utilizar qualquer forma de cursor para imprimir o resultado.
  11. EREGON

    Função PL/SQL com erro

    Olá, ao chamar a função, estou a receber o erro: "ORA-01422: extracção exacta devolve mais que o número pedido de linhas" create or replace FUNCTION "CALC_ADDT_SIM_DISC" (ACCT_INPUT VARCHAR2) RETURN VARCHAR2 IS SIM_MSISDN VARCHAR2(20); BEGIN SELECT CASE WHEN ADDT_DISC_1 = 1 THEN mu.MSISDN WHEN ADDT_DISC_1 > 1 THEN (SELECT DISTINCT t02.MSISDN FROM CDM.DMKV_TRANSP_VAR_RESULT_02 t02 WHERE SERV_ACCT_OLDER_MSISDN_FLG = 'Y' AND PRICING_PLAN_TYPE IN ('valor1', 'valor2') AND t02.DW_SERV_ST_ID='100000003' AND t02.CUST_ACCT_EXT_KEY = ACCT_INPUT ) END MSISDN_ADDT_DISC INTO SIM_MSISDN FROM( SELECT DISTINCT CUST_ACCT_EXT_KEY, COUNT(CUST_ACCT_EXT_KEY) AS ADDT_DISC_1 FROM MOBILE_UPSELL WHERE FLAG_ADDITIONAL_SIM_DISCOUNT = '0' GROUP BY CUST_ACCT_EXT_KEY )t, MOBILE_UPSELL mu WHERE t.CUST_ACCT_EXT_KEY = mu.CUST_ACCT_EXT_KEY AND t.CUST_ACCT_EXT_KEY = ACCT_INPUT; RETURN SIM_MSISDN; END; O que estou a fazer de errado? Obrigado
  12. Querendo_ser_Nerd

    Importar e gravar BD com C#

    Bom dia , Pessoal, realizei diversas pesquisas em Fórum e Artigos, meu caso seria, criei uma aplicação na qual realiza a importação de arquivo em XLS em um DataGridView , está carregando a informação a principio em uma coluna (Duvida as colunas no Excel algumas contem sinais e espaço como "Cód. Cliente" como faço select * from [plan1$] para retornar apenas pela posição da coluna ex. select [A1] from [plan1$] ) , certo , carreguei no DataGrid, creei um botão para carregar as informações do data grid para o BD Oracle, passei toda a configuração conexão e realizei o INSERT , mas não popula com as informações do grid na tabela, apenas quando no INSERT ...Values (1) por exemplo o mesmo inseri o valor na tabela no banco. Já realizei a depuração mas não consigo. Sou novo nessa linguagem. Obg pela Ajuda. using System; using System.Data; using System.Data.OleDb; // intregração Excel using System.Data.OracleClient; using System.Windows.Forms; namespace WindowsFormsLog { public partial class Form4 : Form { public Form4() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); if(openFileDialog.ShowDialog()== System.Windows.Forms.DialogResult.OK) { this.textBox1.Text = openFileDialog.FileName; } } private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { } public void button2_Click_1(object sender, EventArgs e) { string PathCpnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox1.Text + ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1';"; OleDbConnection conn = new OleDbConnection(PathCpnn); //LINQ c# OleDbDataAdapter myDbDataAdapter = new OleDbDataAdapter("Select * from [Plan1$]", conn); // planilha deve conter o nome Plan1 DataTable dt = new DataTable(); // armazena dado myDbDataAdapter.Fill(dt); dataGridView1.DataSource = dt; dataGridView1.Columns[0].HeaderText = "NROPEDCLIENTE"; //alterando nome das colunas // dataGridView1.Columns[1].HeaderText = "DTAINCLUSAO"; } private void Form4_Load(object sender, EventArgs e) { } public void button3_Click(object sender, EventArgs e) { string OracleConn = @"Data Source = ok; User ID =ok ; Password = ok; Unicode = True"; OracleConnection conexao = new OracleConnection(OracleConn); try { if (dataGridView1.Rows.Count > 1) { for (int i = 1; i <= dataGridView1.Rows.Count ; i++)//-1 { int dataGridView1 = Convert.ToInt32(this.dataGridView1.Rows[i].Cells[0].Value); conexao.Open(); OracleCommand comando = new OracleCommand ("insert into pedido values(@NROPEDCLIENTE)", conexao); comando.Parameters.AddWithValue("NROPEDCLIENTE", dataGridView1); comando.ExecuteNonQuery(); MessageBox.Show("Insert"); conexao.Close(); } } } catch (Exception) { MessageBox.Show("Erro ao inserir"); // Sempre finaliza aqui depuração } } } }
  13. emerod

    Erro ORA-31641(EXPDP)

    Boa tarde! Estou montando uma rotina de backup para um banco de dados oracle, com o seguinte comando: expdp compiere/compiere@COMPIERE directory=compierebkp schemas=compiere dumpfile=ExpDat.dmp NOLOGFILE=Y Porém está retornando estes erros: Conectado a: Oracle Database 11g Release 11.2.0.4.0 - 64bit Production ORA-39001: valor de argumento invßlido ORA-39000: especificaþÒo de arquivo de dump incorreto ORA-31641: nÒo Ú possÝvel criar o arquivo de dump "c:\compiere2\data/ExpDat.dmp" ORA-27040: erro ao criar arquivo, nÒo foi possÝvel criar o arquivo Linux-x86_64 Error: 2: No such file or directory Additional information: 1 O banco está instalado em uma maquina linux e eu estou montando o backup em uma maquina linux. Segue a tela com o detalhamento do erro: Alguém pode me ajudar? Obrigado Emerson Ricardo Rodrigues
  14. luizfabianochaves

    Como fazer uma cálculo de média ?

    Boa tarde.. Estou com um problema aqui, preciso fazer um calculo mas não tenho ideia de como fazer... vou ver se consigo explicar.. na empresa temos 60 representantes cada um tem uma meta de vendas diferente a ser cumprida mensalmente, quando ele não bate a meta, o saldo tem que ser diluíido nos meses seguintes.. exemplo: representante 01 teria que vender 1.000 em janeiro. vendeu 900 esses 100 reais que faltaram, teriam que ir pra os outros meses.. 100/11=9,09 então a meta dos outros meses seria de 1009,90.. conseguiram entender?
  15. sadamkim

    Função MAX com group BY

    Pessoal, me deparei com um problema. Tenho uma Tabela, onde fica armazenada as transações dos clientes. Cada transação tem vários registros com o campo STATUS. Preciso fazer um MAX, para pegar a ultima transação por data, e assim saber qual foi o status da mesma. Mas ao utilizar o MAX e selecionar o campo STATUS ele me traz todos os registro, porque o mesmo não pode agrupar por status, por conter valores diferentes. É possível criar alguma forma de selecionar no meu caso a ultima transação por data (MAX) e trazer o campo status? Seja com alguma procedure, ou outra função do ORACLE.
  16. Jonatas Provido

    Compara Tabelas

    Pessoal veja se consegue me ajudar Hoje tenho uma TABELA1 e TABELA2 Tabela = TABELA1 Colunas = NCM IPOS_FEDER IPOS_MUNIC IPOS_GLOBAL IPOS_ESTAD A Tabela2 onde esta com as informações novas que precisa ser atualizado a Tabela1 TABELA = TABELA2 COLUNAS = NCM FEDERAL MUNICIP GLOBAL ESTADU Preciso que compare o coluna NCM as demais coluna se diferente valor tabela 2 atualiza a tabela1 já li vários post porem acho que a forma que estou pesquisando não seja coerente. Obrigado! pela atenção
  17. pamf

    Problema de funcoes de grupo

    Prezados, boa noite! Me deparei com um problema aqui que acredito que seja bem simples para voces. Estou aqui precisando agrupar dados com a maior data de vendas para um cliente Numa coluna para todas as linhas do cliente (registro a registro das notas). Tambem preciso fazer algumas operacoes de total para disponibilizar um SCRIPT SQL sql para ser consumido por uma ferramenta analitica de BI e foi especificado exatamente como esta na planilha. Para facilitar criei os cenários. Tem os scripts de criacao da tabela e de insert e os resultados esperados nas colunas calculadas pelo sql. Espero que a documentação esteja boa para o caso de uso e que voces possam me ajudar. POde ser didatico para quem da aulas de PL SQL. Grato Att Paulo PS: como nao aceitou a planilha, escrevo abaixo: --SCRIPT DE CRIACAO TABELA ORACLE CREATE TABLE T_VENDAS (DATA_VENDA DATE, COD_CLI NUMBER (10), CLIENTE VARCHAR2(10), NUM_NF VARCHAR(10), ITEM VARCHAR2(20), QTDE NUMBER (10,2), VL_TOT_ITEM NUMBER (10,2), VL_UNIT NUMBER (10,2)); --INSERTS INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','MESA',1,200,200); INSERT INTO T_VENDAS VALUES('05-Jan-2019',15,'JOAO','20','CADEIRA',4,240,60); INSERT INTO T_VENDAS VALUES('21-Jan-2019',15,'JOAO','66','BANCO',2,240,120); INSERT INTO T_VENDAS VALUES('08-Feb-2019',15,'JOAO','102','GELADEIRA',1,600,600); INSERT INTO T_VENDAS VALUES('07-Mar-2019',15,'JOAO','145','ARMARIO',1,450,450); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','SOFA',1,750,750); INSERT INTO T_VENDAS VALUES('05-Jan-2019',20,'MARIA','28','TAPETE',2,280,140); INSERT INTO T_VENDAS VALUES('21-Jan-2019',20,'MARIA','72','CORTINA',2,160,80); INSERT INTO T_VENDAS VALUES('08-Feb-2019',20,'MARIA','120','CAMA',1,400,400); INSERT INTO T_VENDAS VALUES('17-Feb-2019',20,'MARIA','151','COLCHAO',1,500,500); CENARIOS (DADOS INSERIDOS NA TABELA T_VENDAS - COLUNAS DO EXCEL ABAIXO: B, C, D, E, F, G, H, I) COLUNAS CALCULADAS ESPERADAS NO SCRIPT SQL ALEM DAS COLUNAS JA EXISTENTES NA TABELA RESULTADO ESPERADO DO SCRIPT SQL
  18. Bom dia, tenho uma tabela cuja estrutura está toda em VARCHAR. Essa tabela contem algumas colunas com valores decimais, e quero executar algumas queries para fazer algumas operações aritméticas, como: -Devolver valores maiores que xx.xx, etc. Mas estou a ter erros, como: ORA-12801: erro assinalado no servidor de consulta paralela P009, instance ptlhb100.pt.sedc.internal.vodafone.com:CSTMRDM2 (2) ORA-01722: número inválido 12801. 00000 - "error signaled in parallel query server %s" *Cause: A parallel query server reached an exception condition. *Action: Check the following error message for the cause, and consult your error manual for the appropriate action. *Comment: This error can be turned off with event 10397, in which case the server's actual error is signaled instead. Estou a executar a querie: SELECT TBL_NUMBER FROM MOBILE_UPSELL tl WHERE TO_NUMBER(tl.ARPU_MIB) < 8.01 Já tentei TO_BINARY_NUMBER e dá o mesmo erro. O que está mal aqui? Obrigado Paulo
  19. lsantgo

    SELECT ... FOR UPDATE com PHP

    Estou a dois dias tentando resolver esse problema, se alguém puder me ajudar eu agradeço de mais. Possuo a seguinte consulta: Ela serve para que eu possa captar o próximo numero disponível para orçamento e já fazer um update adicionando 1 unidade a esse numero antes que que a aplicação quando usada por outro usuário capte o mesmo numero que outro. A consulta funciona perfeitamente, o banco usado é oracle 11g. Porém não consigo aplicar isso na linguagem php, pois a query não aceita 2 consultas. Já tentei usar cursores utilizando de oci_new_cursor, porém sem exito. Alguns trechos de código tentei adaptar de exemplos desse site PHP oci_new_cursor Examples Se alguém puder me ajudar por favor. Já nem sei mais o que tentar Seguem abaixo 2 exemplos de códigos (um com cursor e outro sem) : <?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = "BEGIN SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; end;"; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $refcur = oci_new_cursor($c); $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta oci_execute($refcur); ?> <?php include "config.php"; //arquivo de configuração //------------------------------------------------------------------------------------------------------// $query2 = " SELECT proxnum FROM orcamento FOR UPDATE of proxnum; UPDATE orcamento SET proxnum = proxnum + 1; "; $s2 = oci_parse($c, $query2); if (!$s2) { $m2 = oci_error($c); trigger_error('Could not parse statement: ' . $m['message'], E_USER_ERROR); } //prepara para a execução $r2 = oci_execute($s2); if (!$r2){ $m2 = oci_error($s2); trigger_error('Could not execute statement: ' . $m['message'], E_USER_ERROR); }// executa a consulta ?>
  20. nicolasbessa

    Performance Query SQL (ANSI)

    Galera, Uma ajuda, Por gentileza! Tenho a query abaixo para ser trabalhada a performance. A mesma é uma view, realiza consulta diversas vezes na mesma tabela para montar alguns campos. Gostaria de ideias para melhorar a mesma, desde já agradeço! CREATE OR REPLACE FORCE EDITIONABLE VIEW "LF"."VW_CTM_JNJ_ENTSAI_TABLEAU" ("TIPO_NF", "COD_HOLDING", "COD_MATRIZ", "COD_FILIAL", "ID_NF", "NUM_NF", "SERIE", "COD_MODELO", "COD_CFOP_LEGAL", "COD_CLIFOR", "DT_EMISSAO", "DT_LANCAMENTO", "DT_ENTRADA", "COD_STATUS", "COD_UF", "MUNICIPIO", "RAZAOSOCIAL", "CGC_CPF", "VLR_TOTAL_PRODUTOS", "TOTAL_ITEM", "ICMS_BASE_TOTAL", "ICMS_VALOR_TOTAL", "ICMS_ST_BASE_TOTAL", "ICMS_ST_VALOR_TOTAL", "VLR_FRETE", "VLR_SEGURO", "VLR_DESPESAS", "IPI_TRIBUTADO", "IPI_NAO_TRIBUTADO", "DOCNUM", "ID_ITEM", "COD_PRODUTO", "COD_UNID_MEDIDA", "COD_CLASSIF_FISCAL", "QUANTIDADE", "VLR_UNITARIO", "VLR_DESCONTO", "DESCRICAO_NOTA", "DIG_CFOP", "COD_GRP_PRODUTO", "COD_IVA", "COD_ORIGEM_PROD", "CTA_CTB_MATERIAL", "LANCTO_CONTABIL", "CHAVE_NF_E", "NUMERO_DI", "COD_TRIBUT_ICMS", "COD_SIT_TRIB_IPI", "COD_IMPOSTO", "BASE_CALCULO_1", "BASE_CALCULO_2", "BASE_CALCULO_3", "VLR_IMPOSTO_ICMS_1", "VLR_IMPOSTO_ICMS_2", "ALIQUOTA_ICMS_1", "ALIQUOTA_ICMS_2", "COD_TRIBUT_IPI", "BASE_CALCULO_IPI_1", "BASE_CALCULO_IPI_2", "BASE_CALCULO_IPI_3", "ALIQUOTA_IPI", "VLR_IMPOSTO_IPI", "BASE_CALCULO_ST_1", "BASE_CALCULO_ST_2", "BASE_CALCULO_ST_3", "ALIQUOTA_ST", "VLR_IMPOSTO_ST", "BASE_CALCULO_DIFAL", "ALIQUOTA_DIFAL", "VLR_IMPOSTO_DIFAL", "BASE_CALCULO_J6", "VLR_IMPOSTO_J6", "BASE_CALCULO_J7", "VLR_IMPOSTO_J7", "BASE_CALCULO_J8", "VLR_IMPOSTO_J8", "BASE_CALCULO_PIS_1", "BASE_CALCULO_PIS_2", "BASE_CALCULO_PIS_3", "ALIQUOTA_PIS", "VLR_IMPOSTO_PIS", "COD_SIT_TRIB_PIS", "BASE_CALCULO_COFINS_1", "BASE_CALCULO_COFINS_2", "BASE_CALCULO_COFINS_3", "ALIQUOTA_COFINS", "VLR_IMPOSTO_COFINS", "COD_SIT_TRIB_COF") AS select distinct 'E' TIPO_NF, a.COD_HOLDING, a.COD_MATRIZ, a.COD_FILIAL, a.ID_NF_ENTRADA ID_NF, A.NUM_NF, A.SERIE, A.COD_MODELO, a.COD_CFOP_LEGAL, a.COD_CLIFOR, A.DT_EMISSAO, a.DT_LANCAMENTO, a.DT_ENTRADA, a.COD_STATUS, a.COD_UF, A.MUNICIPIO, A.RAZAOSOCIAL, A.CGC_CPF, A.VLR_TOTAL_PRODUTOS, B.VLR_BRUTO TOTAL_ITEM, A.ICMS_BASE_TOTAL, A.ICMS_VALOR_TOTAL, A.ICMS_ST_BASE_TOTAL, A.ICMS_ST_VL_TOTAL ICMS_ST_VALOR_TOTAL, A.VLR_FRETE, A.VLR_SEGURO, A.VLR_DESPESAS, A.IPI_TRIBUTADO, a.IPI_NAO_TRIBUTADO, a.DOCNUM, b.id_item, b.COD_PRODUTO, b.COD_UNID_MEDIDA, b.COD_CLASSIF_FISCAL, b.QUANTIDADE, b.VLR_UNITARIO, b.VLR_DESCONTO, b.DESCRICAO_NOTA, b.dig_cfop, b.cod_grp_produto, b.cod_iva, C.COD_ORIGEM_PROD, B.CTA_CTB_MATERIAL, A.LANCTO_CONTABIL, A.CHAVE_NF_E, A.NUMERO_DI, c.COD_TRIBUT_ICMS, c.COD_SIT_TRIB_IPI, -- DADOS DO IMPOSTO 01 c.COD_IMPOSTO, (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) base_calculo_1, -- (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_2, -- (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_3, -- (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) vlr_imposto_icms_1, -- (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) vlr_imposto_icms_2, -- -- Recupera a Aliquota do imposto IPI (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) aliquota_ICMS_1, -- (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) aliquota_ICMS_2, -- --Recuperar o Valor do CST IPI (SELECT cod_tribut_ipi FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_TP_LANC_IMP = '1' AND COD_IMPOSTO = '02' AND ROWNUM = 1) cod_tribut_ipi, -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '02' AND COD_TP_LANC_IMP = '1' AND ROWNUM = 1) base_calculo_ipi_1, -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '02' AND COD_TP_LANC_IMP = '2' AND ROWNUM = 1) base_calculo_ipi_2, -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '02' AND COD_TP_LANC_IMP = '3' AND ROWNUM = 1) base_calculo_ipi_3, -- -- Recupera a Aliquota do imposto IPI (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '02' AND ROWNUM = 1) aliquota_ipi, -- Recupera o Valor do imposto IPI (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '02' AND ROWNUM = 1) vlr_imposto_ipi, -- -- Recuperar Valores do Imposto 03 -- -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '03' AND COD_TP_LANC_IMP = '1' AND ROWNUM = 1) base_calculo_st_1, -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '03' AND COD_TP_LANC_IMP = '2' AND ROWNUM = 1) base_calculo_st_2, -- -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '03' AND COD_TP_LANC_IMP = '3' AND ROWNUM = 1) base_calculo_st_3, -- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '03' AND ROWNUM = 1) aliquota_st, -- Recupera o Valor do imposto 03 - Substituicao Tributaria (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '03' AND ROWNUM = 1) vlr_imposto_st, -- -- Recuperar valores do Imposto 04 -- -- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) base_calculo_difal, -- -- Recupera a Aliquota do imposto 04 - DIFAL (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) aliquota_difal, -- Recupera o Valor do imposto 04 - DIFAL (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) vlr_imposto_difal, -- -- Recuperar valores do Imposto J6 -- -- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J6' AND ROWNUM = 1) base_calculo_J6, -- -- Recupera o Valor do imposto J6 (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J6' AND ROWNUM = 1) vlr_imposto_J6, -- -- Recuperar valores do Imposto J7 -- -- Recupera o Valor da Base de Calculo do imposto J7 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J7' AND ROWNUM = 1) base_calculo_J7, -- -- Recupera o Valor do imposto J7 (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J7' AND ROWNUM = 1) vlr_imposto_J7, -- -- Recuperar valores do Imposto J8 -- -- Recupera o Valor da Base de Calculo do imposto J8 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J8' AND ROWNUM = 1) base_calculo_J8, -- -- Recupera o Valor do imposto J8 (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = 'J8' AND ROWNUM = 1) vlr_imposto_J8, -- -- Recuperar Valores do Imposto 09 - PIS -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND COD_TP_LANC_IMP = '1' AND ROWNUM = 1) base_calculo_pis_1, -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND COD_TP_LANC_IMP = '2' AND ROWNUM = 1) base_calculo_pis_2, -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND COD_TP_LANC_IMP = '3' AND ROWNUM = 1) base_calculo_pis_3, -- -- Recupera a Aliquota do imposto 09 - PIS (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) aliquota_pis, -- Recupera o Valor do imposto 09 - PIS (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) vlr_imposto_pis, -- Recupera o Codigo da situacao tributaria do imposto 09 - PIS (SELECT cod_sit_trib_PIS FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) cod_sit_trib_pis, -- -- Recuperar Valores do Imposto 10 - COFINS -- -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND COD_TP_LANC_IMP = '1' AND ROWNUM = 1) base_calculo_cofins_1, -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND COD_TP_LANC_IMP = '2' AND ROWNUM = 1) base_calculo_cofins_2, -- -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND COD_TP_LANC_IMP = '3' AND ROWNUM = 1) base_calculo_cofins_3, -- -- Recupera a Aliquota do imposto 10 - COFINS (SELECT nvl(aliquota,0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) aliquota_cofins, -- Recupera o Valor do imposto 10 - COFINS (SELECT nvl(vlr_imposto, 0) FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) vlr_imposto_cofins, -- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS (SELECT cod_sit_trib_cof FROM LF_NF_entrada_IMPOSTO WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and id_nf_entrada = b.id_nf_entrada AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) cod_sit_trib_cof from lf_nf_entrada a, lf_nf_entrada_item b, lf_nf_entrada_imposto c where a.cod_holding = 'JNJ BR' and a.dt_entrada >= to_date('01/01/2013','dd/mm/yyyy') and a.cod_status = '01' and b.cod_holding = a.cod_holding and b.cod_matriz = a.cod_matriz and b.cod_filial = a.cod_filial and b.id_nf_entrada = a.id_nf_entrada and c.cod_holding = b.cod_holding and c.cod_matriz = b.cod_matriz and c.cod_filial = b.cod_filial and c.id_nf_entrada = b.id_nf_entrada and c.id_item = b.id_item and c.cod_imposto = '01' -- UNION ALL -- select distinct 'S' TIPO_NF, a.COD_HOLDING, a.COD_MATRIZ, a.COD_FILIAL, NULL ID_NF, a.NUM_NF, A.SERIE, A.COD_MODELO, a.COD_CFOP_LEGAL, a.COD_CLIFOR, a.DT_EMISSAO, NULL DT_LANCAMENTO, a.dt_emissao DT_ENTRADA, A.COD_STATUS, A.COD_UF, A.MUNICIPIO, A.RAZAOSOCIAL, A.CGC_CPF, a.VLR_TOTAL_PRODUTOS, b.VLR_BRUTO TOTAL_ITEM, a.ICMS_BASE_TOTAL, a.ICMS_VALOR_TOTAL, a.ICMS_ST_BASE_TOTAL, a.ICMS_ST_VALOR_TOTAL, a.VLR_FRETE, a.VLR_SEGURO, a.VLR_DESPESAS, a.IPI_TRIBUTADO, a.IPI_NAO_TRIBUTADO, A.DOCNUM, b.id_item, b.COD_PRODUTO, b.COD_UNID_MEDIDA, b.COD_CLASSIF_FISCAL, b.QUANTIDADE, b.VLR_UNITARIO, b.VLR_DESCONTO, b.DESCRICAO_NOTA, b.dig_cfop, b.cod_grp_produto, b.cod_iva, C.COD_ORIGEM_PROD, B.CTA_CTB_MATERIAL, A.LANCTO_CONTABIL, A.CHAVE_NF_E, NULL NUMERO_DI, c.COD_TRIBUT_ICMS, c.COD_SIT_TRIB_IPI, c.COD_IMPOSTO, -- (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1 ) base_calculo_1, -- (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_2, -- (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_3, -- (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) vlr_imposto_icms_1, -- (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) vlr_imposto_icms_2, -- -- Recupera a Aliquota do imposto IPI (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) aliquota_ICMS_1, -- (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '01' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) aliquota_ICMS_2, -- --Recuperar o Valor do CST IPI (SELECT cod_tribut_ipi FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) cod_tribut_ipi, -- -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) base_calculo_ipi_1, -- -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_ipi_2, -- -- Recupera o Valor da Base de Calculo do imposto IPI (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_ipi_3, -- Recupera o Tipo de lancamento do imposto IPI -- Recupera a Aliquota do imposto IPI (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' AND ROWNUM = 1) aliquota_ipi, -- Recupera o Valor do imposto IPI (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '02' AND ROWNUM = 1) vlr_imposto_ipi, -- -- Recuperar Valores do Imposto 03 -- -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '03' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) base_calculo_st_1, -- -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '03' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_st_2, -- -- Recupera o Valor da Base de Calculo do imposto 03 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_municipio = b.cod_municipio and cod_cfop_legal = b.cod_cfop_legal AND id_item = b.id_item AND COD_IMPOSTO = '03' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_st_3, -- -- Recupera o Tipo de lancamento do imposto 03 - Substituicao Tributaria -- Recupera a Aliquota do imposto Substituicao Tributaria (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '03' AND ROWNUM = 1) aliquota_st, -- Recupera o Valor do imposto 03 - Substituicao Tributaria (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '03' AND ROWNUM = 1) vlr_imposto_st, -- -- Recuperar valores do Imposto 04 -- -- Recupera o Valor da Base de Calculo do imposto 04 - DIFAL (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = a.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) base_calculo_difal, -- -- Recupera a Aliquota do imposto 04 - DIFAL (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) aliquota_difal, -- Recupera o Valor do imposto 04 - DIFAL (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '04' AND ROWNUM = 1) vlr_imposto_difal, -- -- Recuperar valores do Imposto J6 -- -- Recupera o Valor da Base de Calculo do imposto J6 - DIFAL (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J6' AND ROWNUM = 1) base_calculo_J6, -- -- Recupera o Valor do imposto J6 (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J6' AND ROWNUM = 1) vlr_imposto_J6, -- -- Recuperar valores do Imposto J7 -- -- Recupera o Valor da Base de Calculo do imposto J7 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J7' AND ROWNUM = 1) base_calculo_J7, -- -- Recupera o Valor do imposto J7 (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J7' AND ROWNUM = 1) vlr_imposto_J7, -- -- Recuperar valores do Imposto J8 -- -- Recupera o Valor da Base de Calculo do imposto J8 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J8' AND ROWNUM = 1) base_calculo_J8, -- -- Recupera o Valor do imposto J8 (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = 'J8' AND ROWNUM = 1) vlr_imposto_J8, -- -- Recuperar Valores do Imposto 09 - PIS -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) base_calculo_pis_1, -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_pis_2, -- -- Recupera o Valor da Base de Calculo do imposto 09 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_pis_3, -- -- Recupera o Tipo de lancamento do imposto 09 - PIS -- Recupera a Aliquota do imposto 09 - PIS (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) aliquota_pis, -- Recupera o Valor do imposto 09 - PIS (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) vlr_imposto_pis, -- Recupera o Codigo da situacao tributaria do imposto 09 - PIS (SELECT cod_sit_trib_PIS FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '09' AND ROWNUM = 1) cod_sit_trib_pis, -- -- Recuperar Valores do Imposto 10 - COFINS -- -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' and cod_tp_lanc_imp = '1' AND ROWNUM = 1) base_calculo_cofins_1, -- -- -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' and cod_tp_lanc_imp = '2' AND ROWNUM = 1) base_calculo_cofins_2, -- -- -- Recupera o Valor da Base de Calculo do imposto 10 (SELECT NVL(base_calculo,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' and cod_tp_lanc_imp = '3' AND ROWNUM = 1) base_calculo_cofins_3, -- Recupera a Aliquota do imposto 10 - COFINS (SELECT nvl(aliquota,0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) aliquota_cofins, -- Recupera o Valor do imposto 10 - COFINS (SELECT nvl(vlr_imposto, 0) FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) vlr_imposto_cofins, -- Recupera o Codigo da situacao tributaria do imposto 10 - COFINS (SELECT cod_sit_trib_cof FROM lf_nf_saida_imposto WHERE cod_holding = b.cod_holding and cod_matriz = b.cod_matriz and cod_filial = b.cod_filial and num_nf = b.num_nf and serie = b.serie and subserie = b.subserie and dt_emissao = b.dt_emissao and cod_cfop_legal = b.cod_cfop_legal and cod_municipio = b.cod_municipio AND id_item = b.id_item AND COD_IMPOSTO = '10' AND ROWNUM = 1) cod_sit_trib_cof from lf_nf_saida a, lf_nf_saida_item b, lf_nf_saida_imposto c where a.cod_holding = 'JNJ BR' and a.dt_emissao >= to_date('01/01/2013','dd/mm/yyyy') and a.cod_status = '01' and b.cod_holding = a.cod_holding AND b.cod_matriz = a.cod_matriz AND b.cod_filial = a.cod_filial AND b.num_nf = a.num_nf AND b.serie = a.serie AND b.subserie = a.subserie AND b.dt_emissao = a.dt_emissao AND b.cod_cfop_legal = a.cod_cfop_legal AND b.cod_municipio = a.cod_municipio AND c.cod_holding = b.cod_holding AND c.cod_matriz = b.cod_matriz AND c.cod_filial = b.cod_filial AND c.num_nf = b.num_nf AND c.serie = b.serie AND c.subserie = b.subserie AND c.dt_emissao = b.dt_emissao AND c.cod_cfop_legal = b.cod_cfop_legal AND c.cod_municipio = b.cod_municipio AND c.id_item = b.id_item and c.cod_imposto ='01';
  21. luizfabianochaves

    calcular prazo medio ponderado

    bom dia.. preciso fazer o calculo do prazo medio de recebimento da minha empresa, em relação ao periodo do ano passado. já tenho a soma de tudo o que recebi com 30, 60, 90, 120 e mais de 120 dias.. como calcular o prazo medio do pl sql com essas informações?
  22. mr22robot

    Select com condição

    Estou com uma dúvida. É possível determinar um select a partir de uma escolha? Ex. SELECT CASE WHEN a < b THEN select * from tabela1 WHEN d < e THEN select * form tabela2 END FROM tabela; Algo parecido. Se uma condição for atendida select1 , se outra condição for atendida: select2. O que acontece: estou com um relatorio que preciso criar no winthor e não consigo melhorar isso. Tenho de fazer três relatorios como solução. Se eu consigo implantar isso, eu faria somente um relatorio. Tipo se marcar um campo, sai um relatorio. Se marcar outro, saí outro relatorio.
  23. Salve Galera, estou quase finalizando um relatório porém travei em um campo. Este relatório consiste em subtrair hora de entrada e saída, trazer em dias horas e minutos de um período. Depois preciso calcular a média destes resultados. eu barrei na parte de dias não vem a informação correta. Segue select se alguem puder me dar uma força. SELECT io.id_in_out, IOP.DOCUMENT,IO.TIME_IN entrada, IO.TIME_RELEASE_PP saida, LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) /24 )), 2, '0') || ':' || LPAD(TRUNC(((IO.TIME_RELEASE_PP - IO.TIME_IN) * 24 )), 2, '0') || ':' || LPAD(TRUNC(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600) / 60), 2, '0') || ':' || LPAD(TRUNC(MOD(MOD((IO.TIME_RELEASE_PP - IO.TIME_IN) * 86400, 3600), 60)), 2, '0') TEMPO FROM DESMEMBR DD, IN_OUT_POS IOP, IN_OUT IO, SPEDITEURE S, VEHICLE V, DRIVER D WHERE DD.TYP_PROCESS = 'DINACI' AND 'DI' = IOP.TYP_DOCUMENT AND DD.NR_DI = IOP.DOCUMENT AND IOP.ID_IN_OUT = IO.ID_IN_OUT AND IO.ART_IN_OUT IN ('CA', 'CC', 'CCE') AND IO.STAT <> '80' AND S.ID_SPEDITEUR = IO.ID_SPEDITEUR AND V.ID_VEHICLE = IO.ID_VEHICLE AND IO.TIME_IN >= TO_DATE('01/12/2018', 'dd/mm/yyyy') AND IO.TIME_IN <= TO_DATE('31/12/2018', 'dd/mm/yyyy') AND D.ID_DRIVER = IO.ID_DRIVER O resultado acima está vindo assim: 1 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50 2 378470 1211942181 14/12/2017 09:35:41 14/12/2017 13:32:31 00:03:56:50 Depois de acertar isso preciso realizar a média que a principio eu utilizaria o AVG mas dá erro. Agradeço quem puder me ajudar.
  24. Claudia França

    Restaurar arquivos redo.log

    Pessoal estou com um problema com arquivos Redo.log que foram corrompidos, e preciso restaurar eles. Aguem pode me dá uma sugestão de como proceder e tempo de serviço e estimativa de preço ?
  25. Ricardo de Souza Rodrigues

    Comparação de dados (Linhas de uma tabela)

    Prezados, boa tarde. Tenho o seguinte script que me apresenta uma lista com todos os pacientes que tiveram mais de uma passagem por determinado setor. Abaixo segue exemplo de 4 registros do resultado: 11/2018 60574 211701 12/11/2018 01/11/2018 14/11/2018 11/2018 61038 211701 21/11/2018 01/11/2018 22/11/2018 10/2018 59506 208314 25/10/2018 01/10/2018 27/10/2018 10/2018 59703 208314 28/10/2018 01/10/2018 29/10/2018 Como podem ver tenho dois registros do atendimento 211701 e dois registros do atendimento 208314, cada um com um código de movimentação único (significando que o segundo registro é uma reinternação). A minha necessidade é apresentar apenas o registro de reinternação que for em no máximo 2 dias, ou seja, a data da reinternação (DT_MOV_INT ) tem que ser menor que a data da liberação da primeira entrada (DT_LIB_MOV ) + 2 (DT_MOV_INT < DT_LIB_MOV + 2). SELECT TO_CHAR(MI.DT_MOV_INT,'MM/YYYY') MES ,MI.CD_MOV_INT ,MI.CD_ATENDIMENTO ,MI.DT_MOV_INT ,MI.HR_MOV_INT ,MI.DT_LIB_MOV FROM MOV_INT MI INNER JOIN ( SELECT --COUNT(M.CD_ATENDIMENTO), M.CD_ATENDIMENTO FROM MOV_INT M INNER JOIN LEITO L ON M.CD_LEITO = L.CD_LEITO INNER JOIN UNID_INT U ON L.CD_UNID_INT = U.CD_UNID_INT WHERE U.CD_UNID_INT = 67 AND M.CD_ATENDIMENTO IS NOT NULL AND M.CD_LEITO_ANTERIOR NOT IN (243,242,166,165,164,163,162,161,160,159) AND M.CD_LEITO_ANTERIOR IS NOT NULL GROUP BY M.CD_ATENDIMENTO HAVING COUNT(M.CD_ATENDIMENTO) > 1 ORDER BY M.CD_ATENDIMENTO DESC ) ATEND ON MI.CD_ATENDIMENTO = ATEND.CD_ATENDIMENTO INNER JOIN LEITO L -- tabela de leitos ON MI.CD_LEITO = L.CD_LEITO INNER JOIN UNID_INT U -- tabela de unidades de internação ON L.CD_UNID_INT = U.CD_UNID_INT WHERE U.CD_UNID_INT = 67 AND MI.CD_ATENDIMENTO IS NOT NULL AND MI.CD_LEITO_ANTERIOR NOT IN (243,242,166,165,164,163,162,161,160,159) AND MI.CD_LEITO_ANTERIOR IS NOT NULL ORDER BY 3 DESC;
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.