填写每个插座的日期

时间:2013-07-08 07:15:00

标签: sql sql-server

从链接 Easiest way to populate a temp table with dates between and including 2 date parameters

我生成了一个表

Date
2012-01-01
2012-01-02
..
2012-01-31

我需要问一下如何与我的插座表结合使用?

说我有一个出口表

ID | Name
1  | Outlet A
2  | Outlet B
3  | Outlet C

我想将生成日期表和出口表合并如下,所以每个日期都有所有出口

Date       | Outlet
2012-01-01 | Outlet A
2012-01-01 | Outlet B
2012-01-01 | Outlet C
2012-01-02 | Outlet A
2012-01-02 | Outlet B
2012-01-02 | Outlet C
...
2012-01-31 | Outlet A
2012-01-31 | Outlet B
2012-01-31 | Outlet C

2 个答案:

答案 0 :(得分:4)

您可以使用CROSS JOIN

SELECT d.Date, o.Outlet
FROM DatesTable d
CROSS JOIN OutletsTable o

答案 1 :(得分:1)

你可以通过简单的查询来做到这一点:

select a.date , b.Name
from dates as a , outlets as b

它将返回您想要的结果。此查询将返回from子句中的表的Cartesian Product。查看article了解更多详情。