0

我已经考虑了好几个小时,但仍然无法找到如何做到这一点。您如何获得每年的商品总销售额。

到目前为止,我得到的是:

SQLCommand.CommandText = @"SELECT SUM SalesNo AS TotalYearSales FROM SalesTable WHERE Product = " + ddItems.SelectedItem + "";.

表格标题如下产品、年份、销售额。

4

2 回答 2

0
SQLCommand.CommandText = @"SELECT DatePart( YY, SalesDate ), SUM( SalesNo ) AS TotalYearSales FROM SalesTable WHERE Product = ? GROUP BY DatePart( YY, SalesDate ) ";
SQLCommand.Parameters.Add( "parmForProduct", ddItems.SelectedItem );

正如 Daniel 指出的那样,您会对 sql 注入攻击持开放态度,并且应该对查询进行参数化。

要按年份获取总数,您还必须添加年份作为查询的基础。我不知道交易所基于的表格中的“日期”列,因此您必须进行调整。这 ”?” 在查询中是紧随其后添加的参数的“占位符”。参数的添加顺序应与查询中列出的顺序相同。一些 SQL 引擎允许“命名”参数并使用“@ProductIWant”之类的东西,而您的参数将使用相同的...

由于您只查询特定产品,因此不需要在列表中。除非您希望所有产品按年份分组。

于 2012-04-30T17:17:16.647 回答
0

就像是

Select Year(SalesDate),Sum(SalesNo) From SalesTable where Product = "Navel Defluffer"
Group By Year(SalesDate)

正如@Daniel 所暗示的,使用参数化查询而不是字符串连接。

于 2012-04-30T17:17:28.017 回答