【发布时间】:2016-06-15 12:22:13
【问题描述】:
我想获取两个日期 arrival date 和 leaving date 之间的所有日期。
我尝试了递归查询,但没有成功。
;with dates as (
SELECT GuestID, ArrivalDate as reserveddate
from dbo.Guest
union all
SELECT GuestID, dateadd (day,1,dbo.Guest. ArrivalDate) as reserveddate
from dbo.Guest
where dateadd (day,1,dbo.Guest. ArrivalDate) <dbo.Guest.leavingate
)
SELECT *
from dates
option (maxrecursion 0)
【问题讨论】:
-
我试过了,但它不起作用。日期为 (SELECT GuestID, ArrivalDate as reserveddate from dbo.Guest union all SELECT GuestID, dateadd (day,1,dbo.Guest.ArrivalDate) as reserveddate from dbo.Guest where dateadd (day,1,dbo.Guest. ArrivalDate)
-
您需要在查询的递归部分将
dates加入dbo.Guest。 -
检查我的答案:)
-
它也返回相同的结果.. union 适用于第一次添加和递归不起作用
-
那么,您需要什么?显示数据样本以及您需要从中获得什么。
标签: sql sql-server database plsqldeveloper