首页 新闻 搜索 专区 学院

union 排序 为什么第一种会报错

0
悬赏园豆:5 [已解决问题] 解决于 2017-01-07 22:19
如上图所示,请问为什么第一个语句会报错呢
消息 1033,级别 15,状态 1,第 5 行
除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
落忆无痕的主页 落忆无痕 | 初学一级 | 园豆:177
提问于:2016-01-28 22:08
< >
分享
最佳答案
0

这不是union排序报错,而是sql第一行子查询的问题。

子查询中没有指定TOP、OFFSET 或 FOR XML时,是不可以用orderby的。

其实错误消息已经很清楚了,其他sql的子查询中虽然也用到了orderby,但也指定了top。

建议第一个sql在union之后再使用orderby。

收获园豆:5
小白菜T | 小虾三级 |园豆:564 | 2016-02-16 11:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册