FAZER SELECT COM SUM
Boa tarde galera.
Estou com uma dúvida para realizar um SELECT com SUM.
Segue abaixo parte do código que eu utilizei:
Dim datainical As DateTime = Convert.ToDateTime(frmConsultar_Copias.dtpInicial.Text)
Dim datafinal As DateTime = Convert.ToDateTime(frmConsultar_Copias.dtpFinal.Text)
_sql = [Ô]SELECT NumCond, NomeCond, Quantidade FROM Copias WHERE DataEmissao BETWEEN # [Ô] & datainicial.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]# AND # [Ô] & datafinal.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]# ORDER BY NumCond, DataEmissao ASC[Ô]
Eu gostaria de realizar essa consulta, e simultaneamente somar o campo “Quantidade†no perÃodo selecionado pela cláusula WHERE.
Tipo assim, eu quero um relatório de todos os clientes nessas datas, e gostaria de fazer a soma de tudo que foi lançado para cada cliente nesse perÃodo selecionado nos DateTimePicker.
Existe essa possibilidade, ou eu teria que fazer duas consultas distintas.
Desde já, muito obrigado.
Estou com uma dúvida para realizar um SELECT com SUM.
Segue abaixo parte do código que eu utilizei:
Dim datainical As DateTime = Convert.ToDateTime(frmConsultar_Copias.dtpInicial.Text)
Dim datafinal As DateTime = Convert.ToDateTime(frmConsultar_Copias.dtpFinal.Text)
_sql = [Ô]SELECT NumCond, NomeCond, Quantidade FROM Copias WHERE DataEmissao BETWEEN # [Ô] & datainicial.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]# AND # [Ô] & datafinal.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]# ORDER BY NumCond, DataEmissao ASC[Ô]
Eu gostaria de realizar essa consulta, e simultaneamente somar o campo “Quantidade†no perÃodo selecionado pela cláusula WHERE.
Tipo assim, eu quero um relatório de todos os clientes nessas datas, e gostaria de fazer a soma de tudo que foi lançado para cada cliente nesse perÃodo selecionado nos DateTimePicker.
Existe essa possibilidade, ou eu teria que fazer duas consultas distintas.
Desde já, muito obrigado.
Utilizando SUM() voce tem que agrupar os outros campos do select.
Não pode agrupar nem ordenar pelos campos que não sejam agrupados.
Se voce agrupar o campo data por exemplo, ele não soma de todas as data, e sim de cada data.
Se seus clientes estao na tabela [Ô]Clientes[Ô], ficaria mais ou menos assim:
é para retornar mais ou menos assim:
Cliente A - R$ 100,00
Cliente B - R$ 200,00
Não pode agrupar nem ordenar pelos campos que não sejam agrupados.
Se voce agrupar o campo data por exemplo, ele não soma de todas as data, e sim de cada data.
Se seus clientes estao na tabela [Ô]Clientes[Ô], ficaria mais ou menos assim:
SELECT Clientes.Nome, SUM(Quantidade) as total
FROM Copias, Clientes
WHERE DataEmissao BETWEEN # [Ô] & datainicial.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]# AND # [Ô] & datafinal.ToString([Ô]MM/dd/yyyy[Ô]) & [Ô]#
AND Clientes.id_cliente = Copias.id_cliente
GROUP BY Cliente.Nome
é para retornar mais ou menos assim:
Cliente A - R$ 100,00
Cliente B - R$ 200,00
Boa noite Michaell
Obrigado pela resposta, vou testar o código aqui, vlw.
Vou fechar o tópico, pq vou demorar um pouco pra testar, devido estar fazendo um curso de infra, e ter que deixar um pouco de lado esse projeto.
De qualquer forma, muito obrigado pela força.
Obrigado pela resposta, vou testar o código aqui, vlw.
Vou fechar o tópico, pq vou demorar um pouco pra testar, devido estar fazendo um curso de infra, e ter que deixar um pouco de lado esse projeto.
De qualquer forma, muito obrigado pela força.
Tópico encerrado , respostas não são mais permitidas