mam*_*esh 3 sql t-sql sql-server sql-server-2005
我有一个包含日期的表,表中可以有多个日期.例如
Date
'2011-01-01'
'2011-03-01'
'2011-06-01'
'2011-11-01'
'2011-12-01'
Run Code Online (Sandbox Code Playgroud)
我还有一张表中只有单位.永远不会有重复的单位.
Unit
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)
如何返回每个单元的所有日期.例如:
Unit Date
1 '2011-01-01'
1 '2011-03-01'
1 '2011-06-01'
1 '2011-11-01'
1 '2011-12-01'
2 '2011-01-01'
2 '2011-03-01'
2 '2011-06-01'
2 '2011-11-01'
2 '2011-12-01'
Run Code Online (Sandbox Code Playgroud)
等等.....
运用 CROSS JOIN
http://msdn.microsoft.com/en-us/library/ms190690.aspx
SELECT d.[Date]
,u.[Unit]
FROM [Date_Table] d
CROSS JOIN [Unit_Table] u
Run Code Online (Sandbox Code Playgroud)
查询假定Date列在Date_Table,Unit列在Unit_Table