sql - 如何根据另一个表中的记录数复制值

标签 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'

等等......

最佳答案

使用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_Table 中,Unit 列在 Unit_Table

关于sql - 如何根据另一个表中的记录数复制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7822488/

相关文章:

c# - 将html有序列表值传递给c#文本框并在sql查询中使用

sql - postgresql 函数中的 IF ELSE

sql-server - 处理 varchar 日期转换中超出范围的值

SQL Server 2005 : How to drop selected tables, 与所有相关对象

mysql - GROUP BY 不遵循 ORDER BY

php - 随机排序php数组

sql - 拆分数据浏览器帖子中的标签

sql-server - 在SQL Server中将值插入表值参数

sql-server - 在一列上选择 Distinct 并消除 Select Distinct 中的空值?

sql - 如何从与给定名称匹配的服务器上的所有数据库中删除特定安全用户?