Ir para conteúdo
willianmarques

sum dentro do select com inner join

Recommended Posts

Ola, desculpa se abri um topico errado, sou novo aqui mas sempre acompanho o forum de voces, 

 

sou novo na area de banco de dados entao desculpa se for grosseiro em entender algo, rs

-----------------------------------------------------------

eu estou com este select

 

SELECT  
    idOrcMatDet,
    idGrupo,
    idSubGrupo,
    omd.numeroOrcamento,
    orcmatdet_preco4lista 
FROM
    OrcMatDet omd INNER JOIN ORCCAB cab ON omd.numeroOrcamento = cab.numeroOrcamento
 where orccab_Cadastro BETWEEN '20-12-2017 00:00:00.000' and '20-01-2018 00:00:00.000'

 

 

que me deu este resultado 

 

idOrcMatDet    idGrupo    idSubGrupo    numeroOrcamento    orcmatdet_preco4lista
13899    5    07    EL310010    0,00
13900    5    04    EL310010    4115,21
13901    5    12    EL310010    4922,62
13902    5    12    EL310010    5013,93
13903    5    11    EL310010    548,44
13904    5    11    EL310010    645,20
13969    5    07    EL310011    0,00
13970    5    12    EL310011    3717,87
13971    5    12    EL310011    3915,09
13972    5    12    EL310011    3645,93
13973    5    12    EL310011    4077,69
13974    5    12    EL310011    685,26
13975    5    12    EL310011    3570,22
13976    5    12    EL310011    3365,33
13977    5    12    EL310011    3732,83

 

gostaria de somar os valores somento do 'idgrupo' 12 por exemplo alguem pode me ajudar

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja descobri pessoal,

ficou assim o script

 

WITH Dados AS (

SELECT idOrcMatDet,
       idGrupo,
       idSubGrupo,
       omd.numeroOrcamento,
       orcmatdet_preco4lista,
       TotalPorGrupo = SUM(orcmatdet_preco4lista) OVER(PARTITION BY idGrupo)
  FROM OrcMatDet omd
 INNER JOIN ORCCAB cab
    ON omd.numeroOrcamento = cab.numeroOrcamento
 WHERE orccab_Cadastro BETWEEN '20-12-2017 00:00:00.000' AND '20-01-2018 00:00:00.000'
)

SELECT * FROM Dados R
WHERE idGrupo = 4

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por 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?
       
       
    • Por 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'];                 }         ?>  
    • Por 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
       
       

    • Por 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;
       
       

    • Por 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>
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.