SQL查询以获取相同的结果集
这应该是一个简单的表,但假设我有一个包含如下数据的表:SQL查询以获取相同的结果集,sql,join,Sql,Join,这应该是一个简单的表,但假设我有一个包含如下数据的表: | ID | Date | Value | | 1 | 01/01/2013 | 40 | | 2 | 03/01/2013 | 20 | | 3 | 10/01/2013 | 30 | | 4 | 14/02/2013 | 60 | | 5 | 15/0
| ID | Date | Value |
| 1 | 01/01/2013 | 40 |
| 2 | 03/01/2013 | 20 |
| 3 | 10/01/2013 | 30 |
| 4 | 14/02/2013 | 60 |
| 5 | 15/03/2013 | 10 |
| 6 | 27/03/2013 | 70 |
| 7 | 01/04/2013 | 60 |
| 8 | 01/06/2013 | 20 |
我想要的是一年中每周的值之和,显示所有周。。(用于excel图形)
我的查询只提供数据库中实际存在的周数。使用SQL,您无法返回某些表中不存在的行。为了获得想要的效果,您可以创建一个名为
WeeksInYear
的表,其中只有一个字段WeekNumber
,即Int
。用所有周数填充表格。然后将该表连接到此表
然后,查询将类似于以下内容:
SELECT w.WeekNumber, SUM(m.Value)
FROM MyTable as m
RIGHT OUTER JOIN WeeksInYear AS w
ON DATEPART(wk, m.date) = w.WeekNumber
GROUP BY w.WeekNumber
缺少的周数在MyTable中不会有任何数据,并显示0。因此,执行神奇操作的查询在哪里?缺少的周数将返回NULL
,而不是0。但是这种方法是正确的好的。。希望有什么把戏。但这就行了。谢谢