Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

  • Conteúdo Similar

    • Por nascimnbeni80@gmail.com
      Caros amigos preciso somar campos de varias tabelas (15 no total), nos quais eu quero somar somente os campos iguais nas data específicas abaixo segue um exemplo.
      OBS: precisa ser sempre o ultimo registro de cada tabela, então considere usar LIMIT 1 e ORDER BY id DESC
       

    • Por aw10home
      Quando faço a consulta no phpMyadmim consigo o resultado esperado. Mas pelo visto não estou sabendo fazer direito em PHP. O que estou errando? Porque não consigo fazer a média (prtm) "aparecer"?
      abaixo meu código.
      <?php if (isset($_GET['$id_aluno'])){ $id_aluno = addslashes($_GET['$id_aluno']);} elseif (isset($_GET['id_aluno'])){ $id_aluno = addslashes($_GET['id_aluno']);}//addslashes evita sqlinjection else{ $id_aluno=(""); } $informacao=$con->prepare("SELECT a.id_aluno, a.nome, SUM(((b.prt*5)+(m.prt*3)+(v.prt*2))/10 ) as prtm FROM aluno a inner join avb1 b on a.id_aluno = b.id_aluno inner join avm2 m on a.id_aluno = m.id_aluno inner join avp v on a.id_aluno = v.id_aluno group by a.id_aluno, a.nome WHERE a.id_aluno = $id_usuario"); $informacao->execute(); ?> <!------------> <table class="cBolt"> <tr> <td>Avaliação</td> <td>Bim.</td> <td>Português</td> </tr> <?php while($linha=$informacao->fetch(PDO::FETCH_ASSOC)){ ?> <tr> <td>Média</td> <td>1º</td> <td><?php echo $linha['prtm'];?></td> </tr> <?php } ?> </table>  
    • Por lucianfpaula
      Galera tenha a seguinte duvida, tenho 3 tabelas onde estou trazendo os dados e preciso fazer um count em uma delas
       
      SELECT *  FROM tabela1 AS t1  INNER JOIN tabela2 AS t2 ON t1.idt1 = t2.idt2 INNER JOIN tabela3 AS t3 ON t3.idt3 = t1.idt1  
      a duvida é: quero manter o SELECT * mas também preciso de COUNT(t3.idT3)
      não sei se é possível fazer isso, mas gostaria de ter certeza antes de focar em outra solução
      desde já muito grato.
    • Por r.guerra
      Salve galera, boa tarde a todos.
      estou tendo um problema que ainda nao consegui enxergar... faço uma consulta mysql que funciona normalmente no proprio ambiente(mysql) mas ao solicitar a exibição do campo via php gera nao exibe e me tras um alerta.
       
      ****codigo php
      function monta_avaliacao($cpf){
          $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf='$cpf'");
           $dados = mysqli_fetch_assoc($query);
          print $dados['c.cpf'];
           }
       
      *****sainda no html
      Notice: Undefined index: c.cpf in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 29
      Notice: Undefined index: a.pe in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 30
       
      tenho um arquivo com as funções, e apenas mando os parametros.
    • Por Omar~
      Então alguém teria uma ideia se existe uma forma mais correta (otimizada) para está executando uma query como essa:
      SELECT pages.p_hash, pages.p_title, pages.p_sector, pages.p_created, sectors.s_hash, sectors.s_title, sectors.s_link, users.u_hash, users.u_name FROM pages INNER JOIN sectors ON pages.p_sector = sectors.s_hash INNER JOIN users ON pages.p_created = users.u_hash  
      Não que venha ao caso mas por explicação mesmo.
      Entro na tabela páginas setores e usuários . Pois tenho que apresentar dados da página, o setor onde se encontra e quem foi o autor
×

Informação importante

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