带并集的SQL顺序

带并集的SQL顺序,sql,sql-order-by,union,Sql,Sql Order By,Union,我想选择两个查询结果的并集。 我试图做的是选择一个具有特定约束的条目,然后通过其他约束添加剩余的顺序 我尝试进行Union,但第二个查询的ORDERBY失败,因为它无法对子查询进行排序 所以我所做的是声明一个表变量,然后插入单个条目,然后按约束顺序插入其余条目 有没有一种方法可以使用union实现这一点?您可以将联合在一起的查询结果打包,然后执行排序。比如: SELECT MainQ.* FROM ( (SELECT * FROM MyTable AS T1 WHERE MyField =

我想选择两个查询结果的并集。 我试图做的是选择一个具有特定约束的条目,然后通过其他约束添加剩余的顺序

我尝试进行Union,但第二个查询的ORDERBY失败,因为它无法对子查询进行排序

所以我所做的是声明一个表变量,然后插入单个条目,然后按约束顺序插入其余条目


有没有一种方法可以使用union实现这一点?

您可以将联合在一起的查询结果打包,然后执行排序。比如:

SELECT MainQ.* FROM 
(
  (SELECT * FROM MyTable AS T1 WHERE MyField = 1)
  UNION 
  (SELECT * FROM MyTable AS T2 WHERE MyField = 2)
) AS MainQ
ORDER BY MainQ.TableID

将union语句用作子查询,然后从中选择

Select * from
(select fields,1 as orderby from table
 union all 
  select fields,2 from as orderby table)a
where whatever
order by orderby,whatever
ORDERBY子句也可以大量定制


以mysql为例。

您能发布查询吗?您使用的是哪种数据库?我使用的是SQL Server,但我找到了解决方案,谢谢!