Jump to content
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

 

 

Share this post


Link to post
Share on other 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

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 rocha10
      Olá boas, necessito de uma ajuda em codeigniter...
      é o seguinte:
       
      tenho uma tabela artigos e outra detalhes_artigos, como fazer um inner join comparando o id_detalhes com o id da tabela detalhes_artigos, e visualizar na views.
       
      ja fiz este inner join e funciona com numero inteiro, o problema é com a string json.
       
      $sql = "SELECT * FROM artigos 
                  INNER JOIN detalhes_artigos ON detalhes_artigos.id = artigos.id_detalhes
                  WHERE artigos.id = ?";
                  $query = $this->db->query($sql, array($id));
                  return $query->row_array(); 
       
      tabela artigos
      id  |  nome | id_detalhes     |
      1   |  nome | ["3", "2, "7"] |
       
      tabela detalhes_artigos
       
      id    |     detanhes         |
      1     |      Caixa 1           |
      2     |      Caixa 2           |
      3     |      Caixa 3           |
      4     |      Caixa 2           |
      5     |      Caixa 6           |
      6     |      Caixa 9           |
      7     |      Caixa 5           | 
       
      agradeço
      Abraço
       
    • 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;
       
       

×

Important Information

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