Jump to content
EliseuFirmino

SUM() Com valores repetidos

Recommended Posts

Tenho o seguinte código para retornar o valor total da conta médica:

 

select   sum(obter_valor_conta(a.nr_interno_conta,'0')) vl_total           
from procedimento_paciente_v a
where a.dt_procedimento between :dt_inicial and fim_dia(:dt_final) 
and     a.cd_medico_executor = decode(:cd_medico,0,a.cd_medico_executor,:cd_medico) 

 

Meu problema é o seguinte, em um atendimento medico posso ter uma conta medica com vários procedimentos diferentes. Na hora de somar valor da conta, está sendo somado o valor da conta varias vezes, quando deveria ser somado apenas uma única vez.

 

Na planilha em anexo o atendimento de número 975299 terá seu valor total somado duas vezes ao invés de apenas uma única vez. Estou com dificuldades para encontrar uma solução. Alguém pode me dar uma dica ? 

 

medico.xls

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By beto.vanzin
      Bom dia. Eu fiz tenho uma view que traz os movimentos de contas correntes. Porém, eu preciso agrupar em uma tabela dinâmica.

      Estou tentando fazer  o agrupamento direto pela view. Porém, através de uma query, eu consigo ver o resultado que eu quero, mas pela view, não permite gravar.
       
      Veja o script que eu estou usando, e a mensagem de erro ao gravar a view:
       
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      USE [BANCO]
      GO
      /****** Object:  View [dbo].[SALDO_CONTA_CORRENTE]    Script Date: 03/06/2019 12:29:55 ******/
      SET ANSI_NULLS ON
      GO
      SET QUOTED_IDENTIFIER ON
      GO

      ALTER  VIEW [dbo].[SALDO_CONTA_CORRENTE]
      AS

      SELECT            A.EMPRESA,
                      C.TIPO_MOVIMENTO AS [TP_MOV],
                      A.RATEIO_FILIAL,                
                      RTRIM(A.CONTA_CONTABIL) + ' - ' + RTRIM(B.DESC_CONTA) AS [CONTA],                 
                      SUM(A.CREDITO) AS DEBITO,
                      SUM(A.DEBITO) AS CREDITO,
                      SUM(A.DEBITO - A.CREDITO) AS SALDO
       
      FROM         dbo.CTB_LANCAMENTO_ITEM A   INNER JOIN
                            dbo.CTB_LANCAMENTO C   ON A.EMPRESA = C.EMPRESA AND A.LANCAMENTO = C.LANCAMENTO INNER JOIN
                            dbo.CTB_CONTA_PLANO B   ON A.CONTA_CONTABIL = B.CONTA_CONTABIL INNER JOIN
                            dbo.CTB_MOVIMENTO_TIPO D   ON C.TIPO_MOVIMENTO = D.TIPO_MOVIMENTO INNER JOIN
                            dbo.CTB_LX_LANCAMENTO_TIPO   ON A.LX_TIPO_LANCAMENTO = dbo.CTB_LX_LANCAMENTO_TIPO.LX_TIPO_LANCAMENTO

      WHERE B.CONTA_CORRENTE = '1' AND B.INATIVA = '0'
       
      GROUP BY
      A.EMPRESA,
      C.TIPO_MOVIMENTO,
      A.RATEIO_FILIAL,
      A.CONTA_CONTABIL,
      B.DESC_CONTA
       
      ORDER BY A.EMPRESA, A.RATEIO_FILIAL, C.TIPO_MOVIMENTO, A.CONTA_CONTABIL

      GO
       
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      E esta é a mensagem de erro:
       
      Msg 1033, Level 15, State 1, Procedure SALDO_CONTA_CORRENTE, Line 29
      The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified.
       
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      Alguém consegue me ajudar com este erro?
       
       
    • By Jhonata Candido
      Bom dia amigos,
       
      Não consigo imprimir na tela o resultado da consulta. Direto no banco o resultado é exibido, porém com o código abaixo não consigo exibir na tela. O que estou fazendo de errado?
       
              <?php                $sql_pagamento = "SELECT SUM(montante_pago) AS valor from dados INNER JOIN agenda ON 'dados.fornecedor' = '$fornecedor' AND 'dados.dt_execucao_prog' > '$lancamento'";                $query_pagamento = mysql_query($sql_pagamento);                while ($exibir = mysql_fetch_array($query_pagamento)){                    echo $exibir['valor'];                 }         ?>  
    • By edyr0x
      Alguém poderia me ajudar a gerar uma relátório em php?
      preciso gerar uma tabela com total de bolsas vendidas por mês.  com total de cada modelo de bolsa fabricada por mês e total geral
      até consegui, porém gostaria de gerar com os meses nas colunas e só consegui gerar com os meses nas linhas... 
      tentei da seguinte forma:
       
      $link = $conexao;
      $consultar = "SELECT SUM(`resumo_bolsas_80`) AS m80, 
             SUM(`resumo_bolsa_12`) AS m12,
            SUM(`resumo_bolsa_20`) AS m20,
             SUM(`resumo_bolsa_40`) AS m40,
              SUM(`resumo_bolsa_90`) AS m90, 
               SUM(`resumo_bolsa_38`) AS m38, 
             MONTHNAME(resumo_data) AS `mes` 
      FROM  resocor
      GROUP  BY YEAR(`resumo_data`), 
                MONTH(`resumo_data`)"; 
      $resulta = mysqli_query($link, $consultar);
       
      ################## codigo php #######################
      <table>
            <tr>
                  <th class="tg-sg5v">MES</th>
                  <th class="tg-sg5v">80</th>
                  <th class="tg-sg5v">12</th>
                  <th class="tg-sg5v">20</th>
                  <th class="tg-sg5v">40</th>
                  <th class="tg-sg5v">90</th>
                  <th class="tg-sg5v">38</th>
              </tr>
              <?php 
                  foreach ($resulta as $row) {
              ?>
                  <tr>
                     
                      <td class="tg-0w8i"><?php echo $row['mes']; ?></td>
                      <td class="tg-0w8i"><?php echo $row['m80']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m12']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m20']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m40']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m90']; ?></td>
                       <td class="tg-0w8i"><?php echo $row['m38']; ?></td>
                  </tr>
              <?php  }     ?>
       </table
       
      SEGUE TABELA ANEXADA DE COMO GOSTARIA QUE APARECESSE NO RELATORIO
       
       

    • By Elizandro Oliveira
      Bom Dia,
       
      Tenho 10 colunas de Siglas de Defeito, e 10 Colunas de quantidade de cada defeito,
      D1 = Defeito
      Q1 = Quantidade de Defeitos D1
      D2 = Defeito
      Q2 = Quantidade de Defeitos D2
      e assim por diante;
       
      D1 pode conter as siglas C1, C2, C3, C4 até C40
      D2  pode conter as siglas C1, C2, C3, C4 até C40
      D3  pode conter as siglas C1, C2, C3, C4 até C40
      e assim por diante
      Vejam a imagem em anexo;
       
      Preciso verificar as colunas e somar todos os defeitos de cada tipo, ranqueando as 3 maiores quantidades de defeitos, como na imagem anexo.
       
      Podem me dar uma ajuda com isso.
       
      Obrigado pela atenção;
       
       

    • By gabrielsa
      Boa noite, estou tentando criar um sum e apresentar em tela, porem quase todos os exemp´lo que vejo usa a chamada do $conn, e no meu caso estou usando um arquivo que ja trazer a conexao ocm o banco e o select+query+row esta apresentando erro. segue o codigo.
       
       
      <?php require 'config.php'; ?> <?php $gasto = "select sum(buy) from home" $resultgasto = mysqli_query($gasto); $resultGasto_query = mysqli_fetch_row($resultgasto); ?> <html> <head> <title>Tabela poker</title> <link rel="stylesheet" type="text/css" href="css/home.css"> </head> <body> <table style="padding-top: 20px;height: 202px;width: 171px;" ID="tabelabk1" > <tr> <th>(%)</th> <th>VALOR</th> </tr> <tr> <td bgcolor="darkgreen">Gasto</td> <?php <td bgcolor="#FF6347">.$$resultGasto_query['buy'].</td>?> </tr>
×

Important Information

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