如何根据另一个表中的记录计数重复值

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)

等等.....

Cur*_*urt 5

运用 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