Ir para conteúdo
Fórum Script Brasil

Ed Flavio

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Tudo que Ed Flavio postou

  1. Jhonas, A função DATEDIFF ela é invalida no oracle a forma de você obter o espaço de tempo do seu exemplo como você postou e segue a baixo... -- FORMA ERRADA SELECT DATEDIFF('01/01/2014','31-12-2014') AS DiffDate FROM DUAL; seria assim: -- FORMA CORRETA SELECT TO_DATE('01/01/2014','dd/mm/yyyy')- TO_DATE('31/12/2014','dd/mm/yyyy') AS DIFF_DATE, FROM DUAL; Espero ter ajudado!
  2. Boa tarde amigo! Se entendi a simplicidade do que precisa eu pensaria da seguinte forma... ou substituiria os dois select por um único e resultados em colunas distintas...como segue a baixo: SELECT mma_mat_cod AS Matrivula, mat_desc_resumida AS Descricao, Sum(mma_qtd) AS saida, Sum(mma_qtd) AS devolucao from mma,mat where mma_mat_cod = mat_cod and mma_tipo_operacao = 'E4' and mma_data_mov BETWEEN '2015-10-01 00:00:00' AND '2015-10-10 00:00:00' group by mma_mat_cod, mat_desc_resumida; Ou se não for viável para a sua necessidade como você já possui as informações, criaria uma VIEW unindo as duas Consultas CREATE OR REPLACE VIEW CONSUT_SAIDA_DEVOLUCAO (Dt_Inicial date, Dt_Final date) AS select mma_mat_cod, mat_desc_resumida, Sum(mma_qtd) AS saida from mma, mat where mma_mat_cod = mat_cod and mma_tipo_operacao = 'S2' and mma_data_mov BETWEEN to_char(Dt_Inicial, 'dd/mm/yyyy') AND to_char(Dt_Final, 'dd/mm/yyyy') group by mma_mat_cod, mat_desc_resumida Union SELECT mma_mat_cod, mat_desc_resumida, Sum(mma_qtd) AS devolucao from mma,mat where mma_mat_cod = mat_cod and mma_tipo_operacao = 'E4' and mma_data_mov BETWEEN to_char(Dt_Inicial, 'dd/mm/yyyy') AND to_char(Dt_Final, 'dd/mm/yyyy') group by mma_mat_cod, mat_desc_resumida; Aí basta criar seu relatório atrelado a view. a consulta ficaria com período dinâmico exemplo. select * from CONSUT_SAIDA_DEVOLUCAO ('10/09/2016', '15/09/2016') Ajustar código a sua necessidade, Espero ter ajudado!
  3. Boa tarde Carfer... Basta fazer o seguinte: select sum(valorcred)as totcred, sum(valordeb)as totdeb, (valorcred)-(valordeb) as diferenca from saldo group by valorcred, valordeb
  4. Bom Dia Drunys! Aconselho a criação de 2 tabelas, sendo elas: TB_USUARIO (COD_USER, NOME_USER, EMAIL_USER, COD_PERFIL) para armazenar os dados de identificação dos usuários. TB_PERFIL(COD_PERFIL, DESC_PERFIL, MENU01, MENU02, MENU03 ETC...) Aqui você definirá para cada perfil quais os menus serão exibidos... OBS: Se quiser ainde poderia ter uma terceira tabela, mas acho desnecessário... seria: TB_MENU(COD_MENU, MENU01, MENU02, MENU03 ETC, COD_PERFIL) Aqui você teria apenas a configuração de menus a serem axibídos de acordo com o código do perfil do usuário acessado... se optar pelo modelo com tres tabelas ficaria assim... TB_USUARIO (COD_USER, NOME_USER, EMAIL_USER, COD_PERFIL) para armazenar os dados de identificação dos usuários. TB_PERFIL(COD_PERFIL, DESC_PERFIL, COD_PERFIL_MENU) Aqui você definirá para cada perfil quais os menus serão exibidos... TB_MENU(COD_PERFIL_MENU, MENU01, MENU02, MENU03 ETC) Espero ter ajudado!
  5. Boa tarde José sua dúvida é bem simples, porém sei que no início toda dúvida é um bicho de sete cabeça ... rss Pois bem decidi criar um exercício completo com sua dúvida pra você poder entender! OBJETIVO: SOMAR OS VALORES DA COLUNA1 C/ COLUNA2 E EXIBIR NA COLUNA3 ----- ATENÇÃO DAQUI PRA BAIXO PODE COPIAR E COLAR NO ORACLE -------- -- 1. Criamos uma tabela de valores para o exercício create table tb_exercicio_soma(valor1 number, valor2 number); -- 2. Inserimos alguns valores na tabela para fazermos o calculo -------------- INSERE VALORES P/ EXERCICIO -------------------- insert into tb_exercicio_soma (VALOR1, VALOR2) values (23, 87); insert into tb_exercicio_soma (VALOR1, VALOR2) values (12, 76); insert into tb_exercicio_soma (VALOR1, VALOR2) values (43, 34); insert into tb_exercicio_soma (VALOR1, VALOR2) values (23, 23); insert into tb_exercicio_soma (VALOR1, VALOR2) values (55, 43); insert into tb_exercicio_soma (VALOR1, VALOR2) values (43, 53); insert into tb_exercicio_soma (VALOR1, VALOR2) values (23, 15); -------------------------------------------------------------------------------- ----- CONSULTA SIMPLES APÓS O INSERIR OS DADOS ----------- select * from tb_exercicio_soma; -- Agora que já criamos a tabela de exercicio e já -- inserimos os dados, vamosa consulta com a soma bem -- simples brother. -- CONSULTA SIMPLES CÁLCULO 1 SELECT VALOR1 AS PRIMEIRO_VALOR, VALOR2 AS SEGUNDO_VALOR, SUM(VALOR1+VALOR2) AS RESULTADO FROM TB_EXERCICIO_SOMA GROUP BY VALOR1, VALOR2 -- CONSULTA MASCARANDO RESULTADO FINAL SELECT VALOR1 AS PRIMEIRO_VALOR, VALOR2 AS SEGUNDO_VALOR, (VALOR1||'+'||VALOR2||' = '||SUM(VALOR1+VALOR2)) AS TOTAL_SOMA FROM TB_EXERCICIO_SOMA GROUP BY VALOR1, VALOR2 -- Observação: Toda vez que usar uma função é necessário usar o Group By -- para os campos que não fazem parte da função. -- ESPERO TÊ-LO ajudado! Até uma próxima! EddyAnalista - Profissional e Instrutor Oracle PL/Sql
×
×
  • Criar Novo...