0

由于mysql没有全连接,所以我使用左连接,右连接后跟一个联合,我得到了我想要的结果。但是,结果的顺序不是我所期望的。以下是联合后的结果..

version   Seg       field_num   version   Seg       field_num
2.6       ACC       1           2.3       ACC       1
2.6       ACC       2           2.3       ACC       2
2.6       ACC       3           2.3       ACC       3
2.6       ACC       4           2.3       ACC       4
2.6       ACC       5           2.3       ACC       5
2.6       ACC       6           2.3       ACC       6
2.6       ACC       7           null      null      null
2.6       ACC       8           null      null      null
2.6       UB1       1           2.3       UB1       1
2.6       UB1       2           2.3       UB1       2
2.6       UB1       3           2.3       UB1       3
2.6       UB2       1           2.3       UB2       1
2.6       UB2       2           2.3       UB2       2
2.6       UB2       3           2.3       UB2       3
null      null      null        2.3       UB1       4

问题是结果集中其他“UB1”的最后一行乱序。此结果集还包含用于比较目的的重复列。或者我不知道如何使用“列”对这个结果集进行排序。我尝试了许多不同的方法来尝试使结果集排序但没有成功。您对如何订购此结果集有任何建议吗?

感谢您查看这个。

4

1 回答 1

0

用括号括住各个查询并添加排序依据。

   (SELECT a FROM t1 WHERE a=10 AND B=1)
    UNION
    (SELECT a FROM t2 WHERE a=11 AND B=2)
    ORDER BY a;
于 2013-09-19T16:53:21.583 回答