这不是union排序报错,而是sql第一行子查询的问题。
子查询中没有指定TOP、OFFSET 或 FOR XML时,是不可以用orderby的。
其实错误消息已经很清楚了,其他sql的子查询中虽然也用到了orderby,但也指定了top。
建议第一个sql在union之后再使用orderby。