【发布时间】:2015-08-02 09:33:32
【问题描述】:
我有一个下表,table1
date value
-------------------------
2015-01-01 0
2015-01-02 0
2015-01-03 0
2015-01-04 0
还有一张桌子2
datestart dateend value
-------------------------------------
2015-01-02 2015-01-03 1
我想得到如下结果
date value
-------------------------
2015-01-01 0
2015-01-02 1
2015-01-03 1
2015-01-04 0
我尝试使用交叉应用
select table1.date, temp.value
from table1
cross join
(select table2.value from table2 where
table2.startdate <= table1.date and table2.enddate > table1.date) as temp
但我最终得到了
date value
-------------------------
2015-01-02 1
2015-01-03 1
我的代码有什么问题?
【问题讨论】:
标签: sql sql-server sql-server-2008 tsql cross-join