我想从两个查询中选择结果的并集。 我要做的是选择一个具有特定约束的条目,然后通过其他约束添加剩余的顺序。
我尝试做Union,但第二次查询的顺序失败,因为它无法在子查询中排序。
所以我做的是声明一个表变量,然后插入单个条目,然后按约束插入其余的条目。
有没有办法使用union来做到这一点?
答案 0 :(得分:0)
您可以将结合在一起的查询的结果结束,然后执行排序。类似的东西:
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
答案 1 :(得分:0)
使用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
order by子句也可以大量定制...... How to define a custom ORDER BY order in mySQL
例如,对于mysql,。