我想在子查询中使用CTE。代码如下:
"%d=%[^|]|%[^=]=%[^|]|%s"
我不知道是否可以进行此查询,但是我在SQL Server中尝试了该查询,但出现错误,有人可以帮助我吗?
答案 0 :(得分:3)
在SQL Server中,CTE位于第一个SELECT
之前:
with cte as (
select * from #tmpfup
union
select distinct fup.object_id, datee.change_time, datee.old_value, datee.new_value
from #tmpfup fup cross join
#tmpdate datee
)
select object_id, change_time,old_value, new_value ,
DENSE_RANK() over ( partition by object_id order by change_time) as seq_no
from cte;
请注意,您还需要在外部from
子句中使用表别名(但我删除了该子查询)。
此外,某些数据库 do 支持带有子查询的CTE。 SQL Server不是其中之一。