Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera, tenho uma tabela de vendas onde no lançamento da venda ela faz o cadastro de forma completa. Ou seja a interface pro vendedor ta pronta!
Agora eu preciso fazer a interface do "patrão", quem vai controlar essas vendas.
Onde vou precisar agrupar pelas colunas: id_vendedor, pg e mes. E somando a coluna valor.
Exemplo:
Outubro de 2014
Vendedor 1 - pg1 - R$ 1200
Vendedor 1 - pg2 - R$ 1000
Vendedor 2 - pg1 - R$ 800
.......
A questão do INNER JOIN não tenho dúvidas, minha dúvida mesmo é agrupar e somar.
Segue uma imagem da tabela.
/applications/core/interface/imageproxy/imageproxy.php?img=http://intranet.sessionstore.com.br/tabela_vendas.jpg&key=8b901c3cf6651c754f49a0c9f836fa0e82dfca8191b1aed6fbeb425b823d076a" alt="tabela_vendas.jpg" />
>
não entendi qual é a dúvida de PHP, mas tente isso:
select sum(valor) 'totais' from tabela group by id_vendedor;
outras dicas:
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx
A principio seria isso, mais eu preciso o group by pelo 'id_vendedor' e também pelo 'pg'
A principio seria isso, mais eu preciso o group by pelo 'id_vendedor' e também pelo 'pg'
Você pode agrupar por ambos:
select sum(valor) 'totais' from tabela group by id_vendedor, pg;
>
Você pode agrupar por ambos:
select sum(valor) 'totais' from tabela group by id_vendedor, pg;
Certo, seguindo teu conselho e lendo um pouco do que foi passado, montei isso:
SELECT vendas.*, users.nome SUM(vendas.valor) AS totais FROM vendas INNER JOIN users ON vendas.id_vendedor = users.id WHERE (autorizacao = '1') AND (status = 'on') AND (emp_sistem = '$emp_sistem') GROUP BY id_vendedor, pg
Porém ele está me retornando:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SUM(vendas.valor) AS totais FROM vendas INNER JOIN users ON vendas.id_vendedor =' at line 1
SELECT id_vendedor, pg, SUM(vendas.valor) AS totais
FROM vendas
INNER JOIN users ON vendas.id_vendedor = users.id
WHERE (autorizacao = '1')
AND (status = 'on')
AND (emp_sistem = '$emp_sistem')
GROUP BY id_vendedor, pg
Resolvido
$query="
SELECT vendas.*, users.nome, users.sobrenome, formaspagamento.forma,
SUM(vendas.valor) AS totais
FROM vendas
INNER JOIN users
ON vendas.id_vendedor = users.id
INNER JOIN formaspagamento
ON vendas.pg = formaspagamento.id
WHERE (vendas.autorizacao = '1')
AND (vendas.status = 'on')
AND (vendas.emp_sistem = '$emp_sistem')
GROUP BY vendas.id_vendedor, formaspagamento.forma
ORDER BY users.nome ASC, vendas.pg ASC
";
não entendi qual é a dúvida de PHP, mas tente isso:
select sum(valor) 'totais' from tabela group by id_vendedor;
outras dicas:
http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx
http://www.linhadecodigo.com.br/artigo/75/principais-instrucoes-em-sql.aspx