2017-10-20 97 views
-2

我有這個簡單的表:添加日期列

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

回答

0

SELECT * 從MYTABLE CROSS JOIN dateTable

這是一個艱苦的一週,感謝大家的幫助。

2

另一種快速的選擇,如果你沒有一個日曆表

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) 
0

使用日曆表,絕對是無價的,。

以下是SentryOne的Aaron Bertrand的tutorial