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。但是这种方法是正确的好的。。希望有什么把戏。但这就行了。谢谢