sql - sql server 2008 中的 12 个月销售和最大销售

标签 sql sql-server sql-server-2008 sql-server-2008-r2

我有一个查询要从salesdata 表 中找出Material wiseMonth wise 数据

示例

我可以找到以下数据

MaterialNo  Jan   Feb   Mar   Apr   May   Jun   Jul  Aug  Sep  Oct  Nov  Dec  
1           10    15    20    30    40    45    56   85   100  95   42   32   
2           12    20    86    32    45    42    62   74   86   42   84   62
3           15    20    46    54    46    42    19   0    62   75   94   98

我想要 SQL SERVER 2008 R2 中的最后两列(MaxSale、MaxSaleMonth)

MaterialNo  Jan   Feb   Mar   Apr   May   Jun   Jul  Aug  Sep  Oct  Nov  Dec  MaxSale   MaxSaleMonth
1           10    15    20    30    40    45    56   85   100  95   42   32   100       Sep
2           12    20    86    32    45    42    62   74   86   42   84   62   86        Mar
3           15    20    46    54    46    42    19   0    62   75   94   98   98        Dec

请建议我最简单的解决方案。

我的当前查询如下

Select 
MaterialNo,
SUM(CASE WHEN CAST(SalesData.dSalesDate AS DATE) BETWEEN '01-Jan-2015' AND  '31-Jan-2015' THEN SalesData.iQty  ELSE 0 END) AS [Jan],
SUM(CASE WHEN CAST(SalesData.dSalesDate AS DATE) BETWEEN '01-Feb-2015' AND  '28-Feb-2015' THEN SalesData.iQty  ELSE 0 END) AS [Feb],
SUM(CASE WHEN CAST(SalesData.dSalesDate AS DATE) BETWEEN '01-Mar-2015' AND  '31-Mar-2015' THEN SalesData.iQty  ELSE 0 END) AS [Mar],
SUM(CASE WHEN CAST(SalesData.dSalesDate AS DATE) BETWEEN '01-Apr-2015' AND  '30-Apr-2015' THEN SalesData.iQty  ELSE 0 END) AS [Apr]
From SalesData
Group By
MaterialNo

最佳答案

使用 Pivot .. 您可以找到最简单的方法。

select max(month), row_max = max(val)
from yourtable
pivot
(
  salesmonth 
  for col in (C1, C2, C3, C4..c12)
) piv
group by id

关于sql - sql server 2008 中的 12 个月销售和最大销售,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37067985/

相关文章:

sql-server - TSQL 将地址转换为邮寄地址 - SQL Server 2005

sql-server - 32 位 SSMS 的最新版本是什么? (SQL Server 管理工作室)

SQL 存储过程 OUTPUT 返回多行

sql - 如何将 SQL Server 中同一表中的一列插入到另一列中

mysql - mysql 与 sql-92 兼容吗?

c# - 如何在 C# 中从另一个表达式创建一个表达式?

sql - 存储将与区 block 链一起使用的数据的最佳数据库类型?

sql - 如何使用 SQL 获取值列表以连接到 XML API?

sql-server - TOP 1 在 sql 查询中是什么意思?

.net - 如何注册 System.DirectoryServices 以在 SQL CLR 用户函数中使用?