在子查询语句(或视图等)中,不能使用Order by语句,除非使用TOP 或 FOR XML

前端之家收集整理的这篇文章主要介绍了在子查询语句(或视图等)中,不能使用Order by语句,除非使用TOP 或 FOR XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_404_3@

在子查询语句中,不能使用@H_404_3@Order by@H_404_3@@H_404_3@语句,除非使用@H_404_3@top@H_404_3@@H_404_3@或@H_404_3@for xml@H_404_3@@H_404_3@@H_404_3@

@H_404_3@

如下面的表@H_404_3@t_table@H_404_3@:@H_404_3@

@H_404_3@

field1@H_404_3@field2@H_404_3@

@H_404_3@

11@H_404_3@ @H_404_3@eee@H_404_3@

@H_404_3@

11@H_404_3@ @H_404_3@bbb@H_404_3@

@H_404_3@

44@H_404_3@ @H_404_3@aaa@H_404_3@

@H_404_3@

33@H_404_3@ @H_404_3@ddd@H_404_3@

@H_404_3@

55@H_404_3@ @H_404_3@ccc@H_404_3@

@H_404_3@

@H_404_3@@H_404_3@

@H_404_3@

有下面的@H_404_3@sql@H_404_3@@H_404_3@语句@H_404_3@@H_404_3@:@H_404_3@@H_404_3@

@H_404_3@

select@H_404_3@*@H_404_3@ from @H_404_3@@H_404_3@(select* from t_table order by field1)a@H_404_3@[L1]@H_404_3@@H_404_3@@H_404_3@@H_404_3@

@H_404_3@

运行是会出错的,错误信息如下:@H_404_3@

@H_404_3@

The ORDER BY clause is invalid in views,inline functions,derived tables,subqueries,and common table expressions,unless TOP or FOR XML is also specified.@H_404_3@

@H_404_3@

@H_404_3@@H_404_3@

这里是一个子查询,在子查询中使用了@H_404_3@@H_502_167@order by @H_404_3@,但是没有使用@H_404_3@@H_502_167@top @H_404_3@关键字,所以会报错。@H_404_3@@H_404_3@@H_404_3@


@H_404_3@@H_404_3@@H_404_3@

@H_404_3@

如果改成下面的@H_404_3@sql@H_404_3@@H_404_3@语句:@H_404_3@@H_404_3@

@H_404_3@

select@H_404_3@*@H_404_3@ from @H_404_3@@H_404_3@(@H_404_3@select@H_404_3@ top@H_404_3@ 3 *@H_404_3@ from@H_404_3@ t_tableorder@H_404_3@ by@H_404_3@ field1)@H_404_3@a@H_404_3@

@H_404_3@

@H_404_3@@H_404_3@

@H_404_3@

即能得到正确结果。@H_404_3@@H_404_3@

@H_404_3@

field1@H_404_3@field2@H_404_3@@H_404_3@

@H_404_3@

11@H_404_3@ @H_404_3@bbb@H_404_3@@H_404_3@

@H_404_3@

11@H_404_3@ @H_404_3@eee@H_404_3@@H_404_3@

@H_404_3@

33@H_404_3@ @H_404_3@ddd@H_404_3@@H_404_3@

@H_404_3@
@H_404_3@

@H_404_3@
@H_404_3@
@H_404_3@
@H_404_3@


猜你在找的XML相关文章