0

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

我尝试进行联合,但第二个查询的 order by 失败,因为它无法对子查询进行排序。

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

有没有办法使用联合来做到这一点?

4

2 回答 2

0

You could just wrap up the results of the queries that are unioned together and then perform the sort. Something like:

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
于 2013-10-23T19:03:27.503 回答
0

使用联合语句作为子查询,然后从中选择。

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

order by 子句也可以大量自定义... 如何在 mySQL 中定义自定义的 ORDER BY 顺序

以 mysql 为例。

于 2013-10-23T19:04:30.500 回答