Pesquisar na Comunidade
Mostrando resultados para as tags ''SUM''.
Encontrado 14 registros
-
Estou precisando de ajuda com a Query abaixo, pois sem o "Sum" a consulta está me retornando os valores corretos, porém sem agrupar os itens com o mesmo código, conforme resultado abaixo. Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 15 236,25 475 Limpador LT 35 Teste 20 315 Porém o resultado deveria ser: Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 35 521,25 SELECT DISTINCTITE.CODPROD As "Codigo_do_Produto",PRO.DESCRPROD As "DescProdutos",PRO.CODVOL As "Un",CAB.CODPARC As "CódParceiro",PAR.NOMEPARC As "Nome_do_Parceiro",(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg",(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total"FROMTGFCAB CAB,TGFPAR PAR,TGFTOP TPO,TGFITE ITE,TGFPRO PROWHERECAB.CODTIPOPER IN (3200, 36)AND CAB.NUNOTA = ITE.NUNOTAAND ITE.CODPROD = PRO.CODPRODAND CAB.CODPARC = PAR.CODPARCAND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D')AND ( CAB.STATUSNOTA = 'L')AND ( CAB.DTENTSAI >='01/07/2020')AND ( CAB.DTENTSAI <='31/07/2020')AND (CAB.CODPARC = 35))GROUP BY "QtdNeg", ITE.VLRUNIT, ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARCORDER BY ITE.CODPROD ASC Tentei colocar "Sum" para somar a "QtdNeg" e o "Valor_Total", retirando da cláusula group by, ele até chegar a agrupar porém desta forma a consulta resulta nos valores abaixo: Código | Descrição | Un | CódParceiro | Nome_do_Parceiro | Qtd Neg | Valor_Total 475 Limpador LT 35 Teste 1730 273420 SELECT DISTINCT ITE.CODPROD As "Codigo_do_Produto", PRO.DESCRPROD As "DescProdutos", PRO.CODVOL As "Un", CAB.CODPARC As "CódParceiro", PAR.NOMEPARC As "Nome_do_Parceiro", SUM(ITE.QTDNEG* ((CASE WHEN CAB.TIPMOV = 'D' THEN -1 ELSE 1 END))) As "QtdNeg", SUM(ITE.VLRUNIT * ITE.QTDNEG) As "Valor_Total" FROM TGFCAB CAB, TGFPAR PAR, TGFTOP TPO, TGFITE ITE, TGFPRO PRO WHERE CAB.CODTIPOPER IN (3200, 36) AND CAB.NUNOTA = ITE.NUNOTA AND ITE.CODPROD = PRO.CODPROD AND CAB.CODPARC = PAR.CODPARC AND (( TPO.TIPMOV = 'V' OR TPO.TIPMOV = 'D') AND ( CAB.STATUSNOTA = 'L') AND ( CAB.DTENTSAI >='01/07/2020') AND ( CAB.DTENTSAI <='31/07/2020') AND (CAB.CODPARC = 35)) GROUP BY ITE.CODPROD, PRO.DESCRPROD,PRO.CODVOL, CAB.TIPMOV, CAB.CODPARC, PAR.NOMEPARC ORDER BY ITE.CODPROD ASC
-
Boa tarde amigos, Tenho uma planilha de Excel que importo para o MySQL entretanto o layout da mesma não seguiu uma padrão de fácil utilização, ex: existem 4 colunas benefícios para um mesmo registro assim como função e finalidade do registro, o que eu preciso é que a consulta me retorne: data, benefícios(soma por tipo), função(soma por tipo), finalidade(soma por tipo) o campo data serviria apenas para o filtro o resultado seria mais ou menos esse beneficio | total foto |50 currículo |100 e assim com função e finalidade SELECT ats_data, ats_filial, sum(`ats_beneficios1`) + sum(`ats_beneficios2`) + sum(`ats_beneficios3`) + sum(`ats_beneficios4`) as total FROM `atendimentos_simples` wHERE `ats_beneficios1` like '%foto%' or `ats_beneficios2` like '%foto%' or `ats_beneficios3` like '%foto%' or `ats_beneficios4` like '%foto%'and ats_data BETWEEN '2019-07-01' AND '2019-07-31' group by ats_filial essa consulta não esta funcionando o filtro da data sempre me trazendo o total, já tentei usar subselect mas falhei. se puderem me ajudar por favor, trabalho com uma entidade publica e mudar a planilha esta fora de questão(infelizmente) O mais proximo que cheguei foi select ats_filial, ats_data, @a:=(select COUNT(ats_beneficios1) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios1 like '%foto%') as b1, @b:=(select COUNT(ats_beneficios2) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios2 like '%foto%') as b2, @c:=(select COUNT(ats_beneficios3) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios3 like '%foto%') as b3, @d:=(select COUNT(ats_beneficios4) from atendimentos_simples where ats_data = '2019-01-04' and ats_beneficios4 like '%foto%') as b4, convert(substring(@e:=@a+@b+@c+@d,1,2), integer) as total from atendimentos_simples group by ats_filial Erros: Resultado se repete em cada linha das 10 filiais Se retiro o group by o resultado continua se repetindo mas todas as linhas são exibidas como um totalizador para cada registro. ats_filial ats b1 b2 b3 b4 total F1 2019-01-03 2 0 1 0 NULL F2 2019-01-03 2 0 1 0 NULL F3 2019-01-01 2 0 1 0 NULL F4 2019-01-03 2 0 1 0 NULL F5 2019-01-03 2 0 1 0 NULL F6 2019-01-03 2 0 1 0 NULL F7 2019-01-03 2 0 1 0 NULL F8 2019-01-03 2 0 1 0 NULL F9 2019-01-03 2 0 1 0 NULL F10 2019-01-20 2 0 1 0 NULL Obrigado.
- 6 respostas
-
- importação de dados
- juntar
-
(e %d mais)
Tags:
-
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;
-
Bom dia, Tenho o seguinte código: for($i = 0; $i < count($dadosia); $i++){ //$pdf->ln(5); If ($dadosia[$i] == ""){ $pdf->ln(10); echo ""; //$pdf->ln(10); } else { $query101 = "SELECT * FROM infraccao_apanha where infraccao_apanha_id =" .$dadosia[$i]; $res101=mysqli_query($link, $query101); $dados101 = mysqli_fetch_assoc($res101); $dadosinfraccaoapanhatexto = ($dados101['infraccao_apanha_texto']); $dadosinfraccaovalorminimo = ($dados101['infracao_apanha_valor_minimo']); $dadosinfraccaovalormaximo = ($dados101['infracao_apanha_valor_maximo']); $dadosinfraccaoapanhadescricao = ($dados101['infraccao_apanha_lei']); $dadosinfraccaoapanhadescricaopunicao = ($dados101['infraccao_apanha_lei_punicao']); } } } O que ele faz: Vai buscar os valores á BD e por cada vez que existir uma infracao ele coloca todos os dados referentes a essa infracao. Até aqui tudo bem e funciona. No entanto eu preciso colocar uma outra consulta que me some todos os valores guardados na variável - $dadosinfraccaovalorminimo = ($dados101['infracao_apanha_valor_minimo']); e a sua soma seja colocada noutra variavel por exemplo $dadosinfraccaovalorminimoSOMA. Obrigado
-
Boa noite pessoal. Estou dando os primeiros passos em programação e precisando transformar um grupo de controles em planilhas para um bd acessado via interface web (php) na empresa de um amigo. É um sistema para controlar locações de equipamentos. Os equipamentos são locados por vários meses e todo mês tem que gerar um relatório conforme anexo. Cada cliente loca vários equipamentos. Seriam três tabelas relacionadas aqui, a de clientes, a de aluguel e a de equipamentos. Relaciono o id das três para listar apenas os registros coincidentes. Quando fecha o mês a consulta deve gerar um relatório que diga, para cada cliente com locações em aberto naquele mês, quais equipamentos estavam locados; quais estavam locados desde o dia 1, ou se iniciou depois. Se continuou locado até o último dia do mês corrente, ou encerrou antes do final do mês, contar quantos dias ficou locado naquele mês. Multiplicar a quantidade de dias pelo valor da diária, que vem da planilha de equipamentos, e gerar o valor de locação do item. Depois gerar o total de cada cliente e o total de faturamento do mês. Os campos envolvido são: clientes.cliente_id, clientes.nome; equipamentos.equipamentos_id, equipamentos.nome, equipamentos.diaria; aluguel.aluguel_id, aluguel.fk_cli_id, aluguel.fk_eqp_id, aluguel.dataInicio, aluguel.diaria. Se precisar de outra tabela, fiquem livres para sugerir. Esse projeto tem sido uma fonte de exercícios de aprendizado e estou fazendo 0800. Agradeço toda ajuda que puderem me dar. Inclusive, se alguém tiver um sistema em php/mysql para locações pronto e quiser compartilhar eu ficaria muito feliz em estudá-lo.
-
Prezados, Estou precisando somar a coluna QUANTIDADE que são consultadas com um "DISTINCT material". Segue código até o "DISTINCT material" ... $busca_query = mysql_query("SELECT distinct material FROM material WHERE material LIKE '%$busca%' AND quantidade LIKE '%$busca1%' ORDER BY material ASC")or die(mysql_error());//faz a busca com as palavras enviadas if (empty($busca_query)) { //Se não achar nada, lança essa mensagem echo "Nenhum registro encontrado."; } // quando existir algo em '$busca_query' ele realizará o script abaixo. while ($dados = mysql_fetch_array($busca_query)) { ?> <tr width="100%"> <td width="82%"><?php echo "$dados[material]<br />";?></td> <td width="10%"><?php echo "$dados[quantidade] <br />";?> ...
-
Pessoal bom dia, Tenho um SQL que me retorna diversos valores de diversas tabelas, inclusive tenho por exemplo o ID de um produto, e este produto está presente em várias localidades (estoques diferentes ao redor do mundo), gostaria de trazer a somatória desses valores de estoque de todas as locations para um determinado registro, porém tenho de retorno o seguinte erro: ORA-00937: not a single-group group function. Vejam um pequeno trecho da query: select pm.PartNumber as Peça, lm.LocName as Location, sl.SL as Stock, --sum(sl.OHGood) from STOCK_LEVEL sl inner join LOC_MASTER lm on sl.LocID = lm.LocID Tentei utilizar no final da query um group by pm.PartNumber porém sem sucesso também. Existem vários campos de valores numéricos que eu gostaria de somar atribuindo ao ID da peça em estoque, porém tenho dificuldade nessa parte de cláusulas de grupo, poderiam me ajudar? Att, Paulo.
-
Boa noite pessoal, tudo bem? É o seguinte, estou iniciando na área de SQL (inclusive já peço desculpas pelos possíveis erros) e trabalho montando relatórios para um sistema via SQL. Estou montando um relatório que envolve algumas tabelas e preciso somar o valor de uma coluna, ocorre que quando uso a função SUM no select com as junções das tabelas ele não me retorna a soma dos valores, se somo sem as junções das tabelas ele me retorna perfeitamente, segue abaixo o script: Script que trás a soma corretamente: SELECT SUM(VALOR) FROM sophia.MOVFIN WHERE VENDA = '14617' AND PARCELA = '2' Resultado --------------------------------------- 329.0000 (1 linha(s) afetadas) Script onde a soma não funciona corretamente: SELECT DISTINCT T.CODIGO As CODTURMA, F.NOME As NOME, F.CPF As CPF, T.NOME As TURMA, S.DESCRICAO As SEGMENTO, F.CODEXT As RA, F.OBSERVACOES As OBSERVAÇÃO, case M.STATUS WHEN 0 then 'Ativa' WHEN 1 then 'Trancada' WHEN 2 then 'Cancelada' WHEN 3 then 'Transferida' WHEN 4 then 'Evadida' WHEN 5 then 'Concluída' end as STATUS, TAB.DESCRICAO1 As INDICADOPOR, SUM(MEN.VALOR) As MENSALIDADE FROM SophiA.TURMAS T LEFT join sophia.MATRICULA M on M.TURMA_REGULAR = T.CODIGO LEFT join sophia.FISICA F on F.CODIGO = M.FISICA LEFT join sophia.DADOSPF DF on DF.FISICA = F.CODIGO LEFT join sophia.SEGMENTOS S on S.CODIGO = DF.SEGMENTO LEFT join sophia.TAB_DESCRICAO_DADOS TAB on TAB.FISICA = F.CODIGO LEFT join sophia.MOVFIN MOV ON MOV.VENDA = M.VENDA and MOV.PARCELA = '2' LEFT join sophia.MOVFIN MEN ON MEN.TITULO = MOV.TITULO WHERE T.CODIGO = '2214' GROUP BY T.CODIGO, F.NOME, F.CPF, T.NOME, S.DESCRICAO, F.CODEXT, F.OBSERVACOES, M.STATUS, TAB.DESCRICAO1, MEN.VALOR Desta forma, basicamente trás como resultado os três registros (mesma quantidade de registro que existe na tabela para estas condições) com números bem diferentes do registro real, não consegui associar os números a uma referencia para entender o que ocorre. Talvez algo que seja relevante mencionar é que pode-se conter números negativos nos registros, inclusive nessas colunas deste duas querys existem números negativos. Agradeço muito a atenção de todos! :)
-
- sql server
- soma
- (e %d mais)
-
Bom dia! Estou com problemas em um select. Fiz esse script que está em anexo e não estou conseguindo fazer a somatória de um campo. O campo m43ad são os cupons, o campo val_líquido, é o valor dos itens no cupom. O campo m45ad também são os cupons e o campo m45ak é o valor total do cupom. Preciso fazer a somatória do campo val_líquido para que me dê o total e assim eu possa comparar com o campo m45ak. Não está me dando o total dos itens. Alguém pode me ajudar?
-
Pessoal, Eu estou com problema na minha página PHP quando altero minha query. Funciona OK: "SELECT nome_disco, group_concat(status_disco) AS 'Monitores' from tb_disco_windows WHERE (`id_solic_disco_windows` = '". $id_solic ."' AND hostname_server='". $hostname ."') GROUP BY nome_disco"; Ocorre erro: $query_windows = "SELECT nome_monitor_infra, SUM(IF( status_monitor_infra = "Critical", 1, "" )) AS Critical, SUM(IF( status_monitor_infra = "Warning", 1, "")) AS Warning from tb_infra_windows WHERE (`id_solic_infra_windows` = '". $id_solic ."' AND hostname_server='". $hostname ."') GROUP BY nome_monitor_infra"; Não sei o que pode ser. Segue o código inteiro do mysql: $query_windows = "SELECT nome_monitor_infra, SUM(IF( status_monitor_infra = "Critical", 1, "" )) AS Critical, SUM(IF( status_monitor_infra = "Warning", 1, "")) AS Warning from tb_infra_windows WHERE (`id_solic_infra_windows` = '". $id_solic ."' AND hostname_server='". $hostname ."') GROUP BY nome_monitor_infra"; $result_windows = mysql_query($query_windows, $conecta) or die(mysql_error()); $rows_query_windows = mysql_fetch_assoc($result_windows); $totalRows_query_windows = mysql_num_rows($result_windows); Apenas complementando, um pouco mais abaixo eu tenho um While aonde mostro o resultado dessa query: <?php do { ?> <tbody> <tr> <td><?php echo $rows_query_windows['nome_monitor_infra'];?></td> <td> <?php if (($rows_query_windows['Critical'] == '1'){ echo "<img src='images/check.png'>"; } elseif($rows_query_windows['Monitores'] == '0') { echo "Não existem monitores cadastrados"; } else { echo "<img src='images/delete_button.png'>"; } ?> </td> <?php } while ($rows_query_windows = mysql_fetch_assoc($result_windows)); $rows = mysql_num_rows($result_windows); if($rows > ) { mysql_data_seek($result, ); $rows_query_windows = mysql_fetch_assoc($result_windows); } ?>
-
Estou iniciando no mundo da programação. Estou fazendo um relatório no Crystal report XI R2 usando o VS 2010 e banco de dados MySQL. Só que o SQL abaixo esta muito grande para inserir no comando do Crystal Report. Gostaria de saber se tem como fazer uma linha de comando menor dando o mesmo resultado. Também tentei fazer e não consegui foi pegar a soma das tabelas missões, dizimo, votos e receita e subtrair o somatório da tabela despesas. Isso sendo mostrado cada um em uma coluna de acordo com a data inicial, data final e mês. SELECT tbcongregacao.codcongregacao, tbcongregacao.codigocongregacao, tbcongregacao.nomecongregacao, (SELECT SUM(tbmissoes.valormissoes) FROM tbcongregacao, tbmissoes WHERE tbcongregacao.codcongregacao LIKE '1' AND tbcongregacao.codcongregacao LIKE tbmissoes.codcongregacao AND tbmissoes.mesmissoes LIKE 'Fevereiro' AND tbmissoes.datamissoes >= '01/02/2016' AND tbmissoes.datamissoes <= '29/02/2016') + (SELECT SUM(tbdizimo.valordizimo) FROM tbcongregacao, tbdizimo WHERE tbcongregacao.codcongregacao LIKE '1' AND tbcongregacao.codcongregacao LIKE tbdizimo.codcongregacao AND tbdizimo.mesdizimo LIKE 'Fevereiro' AND tbdizimo.datadizimo >= '01/02/2016' AND tbdizimo.datadizimo <= '29/02/2016') + (SELECT SUM(tabvotos.valorvoto) FROM tbcongregacao, tabvotos WHERE tbcongregacao.codcongregacao LIKE '1' AND tbcongregacao.codcongregacao LIKE tabvotos.codcongregacao AND tabvotos.mesvoto LIKE 'Fevereiro' AND tabvotos.datavoto >= '01/02/2016' AND tabvotos.datavoto <= '29/02/2016') + (SELECT SUM(tabreceita.valorreceita) FROM tbcongregacao, tabreceita WHERE tbcongregacao.codcongregacao LIKE '1' AND tabreceita.codcongregacao AND tabreceita.mesreceita LIKE 'Fevereiro' AND tabreceita.datareceita >= '01/02/2016' AND tabreceita.datareceita <= '29/02/2016'), (SELECT SUM(tbdespesas.valordespesas) FROM tbcongregacao, tbdespesas WHERE tbcongregacao.codcongregacao LIKE '1' AND tbcongregacao.codcongregacao LIKE tbdespesas.codcongregacao AND tbdespesas.mesdespesas LIKE 'Fevereiro' AND tbdespesas.datadespesas >= '01/02/2016' AND tbdespesas.datadespesas <= '29/02/2016') FROM tbcongregacao
-
Boa tarde, estou com um problema em meu sql, estou fazendo um relatório onde tenho que obter o valor da soma da venda de tickets de bilheteria de um cinema. tentei fazer um sum utilizando case e distinct mas infelizmente está acusando erro de sintaxe, por favor se alguém puder ajudar ficarei imensamente agradecido. segue o código abaixo. SELECT DATE_FORMAT(D.Data,'%d/%m/%Y') as Data, H.Horario, L.Linguagem, G.Genero, I.Indicacao, E.InteiraEspetaculo, P.EmpresaGrupo, P.Representante, E.Espetaculo, COUNT(DISTINCT(VI.ID)) AS QtdPublico, SUM(CASE WHEN DISTINCT(VI.ID) THEN VI.Total end) AS Total, <--- essa linha. SUM(DISTINCT(OC.Valor)) AS OutrosCustos FROM tblEspetaculo AS E INNER JOIN tblLinguagem as L ON L.ID = E.fk_IDLinguagem INNER JOIN tblIndicacao as I ON I.ID = E.fk_IDIndicacao INNER JOIN tblProdutor as P ON P.ID = E.fk_IDProdutor INNER JOIN tblGenero as G ON G.ID = E.fk_IDGenero INNER JOIN tblOutrosCustos as OC ON E.ID = OC.fk_IDEspetaculo INNER JOIN tblTaxas as T ON E.ID = T.fk_IDEspetaculo INNER JOIN tblData as D ON E.ID = D.fk_IDEspetaculo INNER JOIN tblHorario as H ON D.ID = H.fk_IDData INNER JOIN tblVendaIngresso as VI ON H.ID = VI.fk_IDHorario INNER JOIN tblIngresso as ING ON ING.ID = fk_IDIngresso WHERE DATE_FORMAT(VI.Data,"%Y") = "2015" GROUP BY E.ID, D.Data, H.Horario Obs: foi testado todo o sql sem aquela linha e funciona perfeitamente. Abraço.
-
E ae pessoal, sou nova no fórum e preciso muito de ajuda, estou a dias quebrando a cabeça e pesquisando muito e não consegui fazer um query que preciso para um trabalho da faculdade, espero que alguém possa me ajudar. A questão é a seguinte: Tenho um banco de dados(Gerenciador de Bibliotecas) com as seguintes tabelas: Usuário(codusuario, nomusuario) Empréstimo(codemprestimo, dataemprestimo, codexemplar, codusuario) Reserva(codreserva, datareserva, codexemplar, codusuario) Exemplar(codexemplar, codmaterial) Material(codmaterial, codtipomaterial) – No codtipomaterial o número 1 é o código de Livro que é o que preciso. A query que preciso fazer pede o seguinte: Apresentar o nome do usuário, quantidade de livros emprestados, quantidade de livros reservados, somente empréstimos e reservas do ano de 2015 e apresentar uma coluna com a soma dos empréstimos e as reservas(total de empréstimos + total de reservas) de cada usuário. Ordenar o relatório pela soma de forma descendente. Alguém poderia me auxiliar ? eu tentei de diversas maneiras mas sempre encontro um problema, não consigo apresentar o nome do usuário só o código ou então o número de empréstimos e reserva ficam iguais para todos os usuários, ou ainda não seleciona o tipo de material 1 como preciso e a parte da soma do total que utilizaria o SUM para somar os dois COUNT eu nem consegui começar. Sou iniciante então peço por gentileza terem paciência se caso falei algo errado. Agradeço desde já a compreensão e ajuda. Atenciosamente, Deizi Buganti
-
Pessoal, a seguinte string me retorna o total de gastos com treinamentos por colaborador: SELECT SUM(tr.valor_total) as valor_total_treinamentos FROM treinamentos_realizados tr JOIN colaboradores c ON C.cpf = tr.cpf_colaborador WHERE tr.cpf_colaborador = '12365487995' Na tabela colaboradores, eu tb tenho a data do treinamento, ai tipo preciso de uma string que eu pegue esse total, mas por mês, de jan a dez. No caso vou jogar em um array (mes, valor). alguém sabe como consigo isso, sem consultar mês a mês?