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

個々のクエリを括弧で囲み、order by を追加します。

   (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 に答える