Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''postgresql;converção sql server''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 1 registro

  1. Eu quero converter o script abaixo para postgresql e minha dificuldade esta em retornar uma tabela com os dados já processados --Retorna Saldo_inicial,Entrada,Siada e Saldo_final do Mês declare @idEmpresa int; set @idEmpresa= '1'; declare @dataInicial datetime, @dataFinal datetime; set @dataInicial= convert(datetime, '01-11-2017', 103); set @dataFinal= convert(datetime, '30-11-2017', 103); set @dataFinal= dateadd(ms, -3, dateadd(day, +1, @dataFinal)); declare @inicioAno datetime; set @inicioAno= dateadd(year, datediff(year, 0, @dataInicial), 0); declare @saldoFinal numeric(12,2); set @saldoFinal= (SELECT sum(case when sit_flcx = 'Entrada' then +val_flcx else -val_flcx end) from tabflcx where emp_flcx = @idEmpresa and data_flcx >= @inicioAno and data_flcx < @dataInicial) set @saldoFinal = coalesce(@saldoFinal, 0); declare @MovPeriodo table (dataMov date primary key, sumEntrada numeric(12, 2), sumSaida numeric(12, 2)); INSERT into @MovPeriodo (dataMov, sumEntrada, sumSaida)SELECT cast(data_flcx as date), sum(case when sit_flcx = 'Entrada' then val_flcx else 0 end), sum(case when sit_flcx = 'Saída' then val_flcx else 0 end) from tabflcx where emp_flcx = @idEmpresa and data_flcx between @dataInicial and @dataFinal group by cast(data_flcx as date);declare @totalEntrada numeric(12, 2), @totalSaida numeric(12, 2);SELECT @totalEntrada= sum(sumEntrada) ,@totalSaida= sum(sumSaida)from @MovPeriodo;set @totalEntrada= coalesce(@totalEntrada, 0);set @totalSaida= coalesce(@totalSaida, 0);with cteDatas as (SELECT cast(@dataInicial as date) as Data union all SELECT dateadd(day, 1, Data) from cteDatas where Data < cast(@dataFinal as date))SELECT [Mes]= datename(month, D.Data),[Data]= convert(char(10), D.Data, 103), [Saldo_inicial]= @saldoFinal + IsNull((SELECT sum(Mx.sumEntrada - Mx.sumSaida) from @MovPeriodo as Mx where Mx.dataMov < D.Data), 0),[Entrada]= coalesce(M.sumEntrada, 0),[Saida]= coalesce(M.sumSaida, 0), [Saldo_final]= @saldoFinal + IsNull((SELECT sum(Mz.sumEntrada - Mz.sumSaida) from @MovPeriodo as Mz where Mz.dataMov <= D.Data),0) from cteDatas as D left join @MovPeriodo as M on M.dataMov = D.Data union all SELECT NULL, NULL, NULL, @totalEntrada, @totalSaida, NULL Eu dividi por etapas e cheguei até agora a este resultado (não satisfatório pois empaquei no retornar a tabela MovPeriodo): CREATE OR REPLACE FUNCTION SALDO_GERAL() RETURNS TABLE ( MES text, DATA timestamp, SALDO_INICIAL decimal, ENTRADA decimal, SAIDA decimal, SALDO_FINAL decimal ) as $$ --Retorna Saldo_inicial,Entrada,Siada e Saldo_final do Mês /*declare */ idEmpresa int:= '1'; dataInicial timestamp := to_date('01-11-2017','dd/mm/YYYY'); dataFinal timestamp := to_date('30-11-2017','dd/mm/YYYY')-Interval '3 ms'+Interval '1 day'; inicioAno timestamp := to_date('01/01/2017','dd/mm/YYYY'); saldoFinal numeric(12,2):= coalesce((SELECT sum(case when sit_flcx = 'Entrada' then +val_flcx else -val_flcx end) from tabflcx where emp_flcx = idEmpresa and data_flcx >= inicioAno and data_flcx < dataInicial),0); MovPeriodo record ; totalEntrada numeric(12, 2); totalSaida numeric(12, 2); /*BEGIN*/ SELECT cast(data_flcx as date), sum(case when sit_flcx = 'Entrada' then val_flcx else 0 end), sum(case when sit_flcx = 'Saída' then val_flcx else 0 end) /*INTO MovPeriodo*/ from tabflcx where emp_flcx = idEmpresa and data_flcx between dataInicial and dataFinal group by cast(data_flcx as date); /*END*/ $$ LANGUAGE sql; SELECT SALDO_GERAL() AS RETORNO;
×
×
  • Criar Novo...