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

时间:2011-10-19 14:00:32

标签: sql sql-server sql-server-2005 tsql

我有一个包含日期的表,表中可以有多个日期。例如

Date
'2011-01-01'
'2011-03-01'
'2011-06-01'
'2011-11-01'
'2011-12-01'

我还有一张表中只有单位。永远不会有重复的单位。

Unit
1
2
3
4
5
6

如何返回每个单元的所有日期。例如:

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'

依旧.....

1 个答案:

答案 0 :(得分: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

查询假设Date列位于Date_TableUnit列位于Unit_Table