【发布时间】:2014-06-18 13:52:26
【问题描述】:
我希望生成的表格与我提供的示例表格一样,即使提供的唯一月份是 5,我希望表格显示所有 12 个月,即使其他月份的金额为 0。
我正在使用这个查询,让我试着解释一下我想要的金额。我希望金额列包含相应月份的每笔销售额的总和。
Select
YEAR([Date]) as [Year],
MONTH([Date]) as [Month],
IsNull(SUM(Amount), 0) AS TotalSales
From Sales Left Outer Join Employee
On Employee.EmployeeID = Sales.EmployeeID
Group By YEAR([Date]), MONTH([Date])
Order By YEAR([Date]), MONTH([Date])
员工表,
+--+--+------+
|ID| Name |
+--+---------+
|1 |John Doe |
+--+---------+
|2 |Jane Doe |
+--+---------+
销售表,
+--+------+---------+-------+--------+
|ID|SaleID| Date |Amount |Quantity|
+--+------+---------+-------+--------+
|1 | 1 |5-14-2014|300 |12 |
+--+------+---------+-------+--------+
|1 | 2 |5-16-2014|600 |4 |
+--+------+---------+-------+--------+
|2 | 3 |5-14-2014|452 |10 |
+--+------+---------+-------+--------+
|2 | 4 |5-16-2014|356 |2 |
+--+------+---------+-------+--------+
我想要什么,
+--+---------+-----+------+--------+--------+
|ID| Name |Year |Month |Amount |Quantity|
+--+---------+-----+------+--------+--------+
|1 |John Doe |2014 |5 |900 |16 |
+--+---------+-----+------+--------+--------+
|2 |Jane Doe |2014 |5 |808 |12 |
+--+---------+-----+------+--------+--------+
【问题讨论】:
标签: sql sql-server