2017-10-20 24 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

Thanks Tim、 もちろん、それはされているハードな週... – Mac

答えて

0

選択* はdateTable

に参加するには、ヘルプ皆のためのおかげでハード週間となっています。

2

別quickオプション使用すると、カレンダーのテーブルを持っていない場合

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があります。 mytableは クロスから

関連する問題