sql-server - 如何为联合结果添加排序依据?

标签 sql-server sql-server-2008

在SQL Server 2008中,我们可以使用Union/Unino All将两个结果放在一起,但我想为最终结果添加order by。怎么才能做到这一点?

我想要的是这样的:

select id1 as id, * from ...
Union All
select id2 as id, * from ...
order by id

请帮忙。谢谢。

最佳答案

正如评论中所指出的,您给出的伪代码应该可以工作,将 order by 应用到组合结果集。如果您尝试以两种结果集保持不同的方式进行排序,则需要引入人工排序列,例如:

select id1 as id, *, 1 as MySortKey from ...
Union All
select id2 as id, *, 2 as MySortKey from ...
order by MySortKey, id

关于sql-server - 如何为联合结果添加排序依据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471247/

相关文章:

sql-server-2008 - 如何使用 qt 连接到 SQL Server 2008?

sql - 智能感知看不到全局临时表

sql - 对于这个特定的数据库设计问题,您会使用哪种方法?

SQL输出插入的新数据的id或如果没有插入重复则输出id

sql - 不能在用于 GROUP BY 子句的 group by 列表的表达式中使用聚合或子查询

时间:2019-03-17 标签:c#SQLCOMMAND给出错误

sql - 查找并替换 SQL 中的所有特殊字符

sql - 复合主键+外键

查询满足条件后3天内的记录的sql

sql-server - 查找日期范围中的空白 - SQL