添加日期列

添加日期列

问题描述:

我有这个简单的表:添加日期列

Name 
----- 
test1 
test2 
test3 

而且我需要建立这样的事情:

Name Year Month 
--------------------- 
Test1 2016 1 
Test1 2016 2 
Test1 2016 3 
Test1 2016 … 
Test1 2016 12 
Test2 2016 1 
Test2 2016 2 
Test2 2016 3 
Test2 2016 … 
Test2 2016 12 
Test1 2017 1 
Test1 2017 2 
Test1 2017 3 
Test1 2017 … 
Test1 2017 12 
Test2 2017 1 
Test2 2017 2 
Test2 2017 3 
Test2 2017 … 
Test2 2017 12 

有人可以给我一个提示吗?

在此先感谢。

+2

提示:加入[日历表](https://sqlperformance.com/2013/01/t-sql-queries/generate-a-set-3) –

+0

谢谢蒂姆, 当然,它已经艰难的一周... – Mac

SELECT * 从MYTABLE CROSS JOIN dateTable

这是一个艰苦的一周,感谢大家的帮助。

另一种快速的选择,如果你没有一个日历表

Select * 
From YourTable 
Cross Join (values (2016),(2017)) Y(Year) 
Cross Join (values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)) M(Month) 

使用日历表,绝对是无价的,。

以下是SentryOne的Aaron Bertrand的tutorial