昨天我问了一个复杂查询的问题,我得到了一个例子。我真的很想让它工作,但其中有一个我无法弄清楚的语法错误。请记住,本周早些时候我刚刚被介绍给 CTE,所以希望这很容易。
我认为我不需要在这里发布完整的代码,所以我只是总结一下
with cte as (select dateadd(hour, 1, cast(cast(getdate() -1 as date) as datetime)) as midnnight),
allhours as (
select 0 as hour, midnight as timestart, dateadd(hour, 1, timestart) as timeend from cte union all
select 1 as hour, dateadd(hour, 1, midnight), dateadd(hour, 2, midnight) from cte union all
....
select 23 as hour, dateadd(hour, 23, midnight), dateadd(hour, 24, midnight) from cte union all
)
select ah.hour,...
(...) 表示我省略的不必要的代码,以减少混乱
但是我在 select 23 和 select ah.hour "Incorrect syntax near ')' 之间的括号上出现语法错误。期待 SELECT 或 '('。
任何帮助是极大的赞赏。
-J