SQL WITH CTE 作为子查询报错,求解决方法。

Juchiyufei 2014-10-17 11:20:59

如:

select * from t1 
where id in (
wtih cte ( ... ) select id from cte
)


提示语法出错。
...全文
284 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2014-10-17
  • 打赏
  • 举报
回复
引用 3 楼 Juchiyufei 的回复:
为什么前面要加一个分号?
也可以不加,如果这个查询前面没有什么东西,我加上是以防你的这个查询前面有其它的语句
Juchiyufei 2014-10-17
  • 打赏
  • 举报
回复
谢谢,结贴了哈。
reenjie 2014-10-17
  • 打赏
  • 举报
回复
引用 3 楼 Juchiyufei 的回复:
为什么前面要加一个分号?
如果将CTE 用在属于批处理的一部分的语句中,那么在它之前的语句必须以分号结尾
Juchiyufei 2014-10-17
  • 打赏
  • 举报
回复
为什么前面要加一个分号?
reenjie 2014-10-17
  • 打赏
  • 举报
回复
语法错误,先声明,再使用。

 ;wtih cte as ( ... ) 
select * from t1  where id in  (  select distinct id from cte)
还在加载中灬 2014-10-17
  • 打赏
  • 举报
回复
;wtih cte AS ( ... ) select * from t1 
       where id in  ( 
                    select id from cte
)
应该这样

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧