Somar colunas do banco de dados
- Boa tarde pessoal,
Tenho um banco de dados onde preciso somar valore como agregação e cumulativos. O problema é que não estou conseguindo instalar o SQL Server e por isso não consigo programar direto do banco de dados. Me parece que é problema de hardware! Ainda estou por resolver. Gostaria de saber se tem como eu usar o SQL Server Compact 3.5 para calcular o total cumulativo? A propósito, como eu faço isso? Posso usar comandos do C# para calculas?
Abraços.
Respostas
- Se vc procura a query:
Select Descricao, Sum(Quatidade) as Qtde from Tabela group by Descricao
Se vc quer fazer a soma direto no C#, use o linq:
public static void Linq80()
{
List products = new List { { ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 }, { ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 }, { ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 }, { ProductID = 4, ProductName = "Chef Anton's Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 }, { ProductID = 5, ProductName = "Chef Anton's Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 }, { ProductID = 6, ProductName = "Grandma's Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 }, { ProductID = 7, ProductName = "Uncle Bob's Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 }}
var categories =
from p in products
group p by p.Category into g
select new { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.UnitsInStock) };
foreach (var n in categories) {
Console.WriteLine(n);
}
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Téléphone: (819) 379-3446
Télécopieur: (819) 379-3449
triw@sogi.com.no_spam
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Marcado como RespostaHarley AraujoMSFT, Moderadorsegunda-feira, 9 de novembro de 2009 16:32
- O linq praticamente isola o banco. Voce pode ler uma tabela, transformar em uma lista e depois usar o linq. Mas dependendo do caso, é canhao pra matar mosquito. Veja bem suas necessidades, as vezes utilizar a query é muito mais facil!
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Téléphone: (819) 379-3446
Télécopieur: (819) 379-3449
triw@sogi.com.no_spam
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Marcado como RespostaHarley AraujoMSFT, Moderadorsegunda-feira, 9 de novembro de 2009 16:32
Todas as Respostas
- Se vc procura a query:
Select Descricao, Sum(Quatidade) as Qtde from Tabela group by Descricao
Se vc quer fazer a soma direto no C#, use o linq:
public static void Linq80()
{
List products = new List { { ProductID = 1, ProductName = "Chai", Category = "Beverages", UnitPrice = 18.0000M, UnitsInStock = 39 }, { ProductID = 2, ProductName = "Chang", Category = "Beverages", UnitPrice = 19.0000M, UnitsInStock = 17 }, { ProductID = 3, ProductName = "Aniseed Syrup", Category = "Condiments", UnitPrice = 10.0000M, UnitsInStock = 13 }, { ProductID = 4, ProductName = "Chef Anton's Cajun Seasoning", Category = "Condiments", UnitPrice = 22.0000M, UnitsInStock = 53 }, { ProductID = 5, ProductName = "Chef Anton's Gumbo Mix", Category = "Condiments", UnitPrice = 21.3500M, UnitsInStock = 0 }, { ProductID = 6, ProductName = "Grandma's Boysenberry Spread", Category = "Condiments", UnitPrice = 25.0000M, UnitsInStock = 120 }, { ProductID = 7, ProductName = "Uncle Bob's Organic Dried Pears", Category = "Produce", UnitPrice = 30.0000M, UnitsInStock = 15 }}
var categories =
from p in products
group p by p.Category into g
select new { Category = g.Key, TotalUnitsInStock = g.Sum(p => p.UnitsInStock) };
foreach (var n in categories) {
Console.WriteLine(n);
}
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Téléphone: (819) 379-3446
Télécopieur: (819) 379-3449
triw@sogi.com.no_spam
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Marcado como RespostaHarley AraujoMSFT, Moderadorsegunda-feira, 9 de novembro de 2009 16:32
- Valeu William vou tentar com o Linq. Mas minha dúvida é: eu posso usar com qualquer BD, tipo a versão SQL Compact 3.5?
Abraços. - O linq praticamente isola o banco. Voce pode ler uma tabela, transformar em uma lista e depois usar o linq. Mas dependendo do caso, é canhao pra matar mosquito. Veja bem suas necessidades, as vezes utilizar a query é muito mais facil!
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Téléphone: (819) 379-3446
Télécopieur: (819) 379-3449
triw@sogi.com.no_spam
----------------------------------------------------------
SOGI INFORMATIQUE LTÉE (http://www.sogi.com)- Marcado como RespostaHarley AraujoMSFT, Moderadorsegunda-feira, 9 de novembro de 2009 16:32


