あなたはこれをしたい:
select * from
(
SELECT id, 2 as ordered FROM a -- returns 1,4,2,3
UNION
SELECT id, 1 as ordered FROM b -- returns 2,1
)
order by ordered
更新
2つの異なるテーブルがある場合でも、IDを結合することに気付きました。つまり、1
がある場合です。 両方のテーブルで、発生するのは1つだけです。それが望ましい動作である場合は、UNION
に固執する必要があります 。そうでない場合は、UNION ALL
に変更します 。
したがって、私が提案したコードに変更すると、両方の1
を取得し始めることにも気づきました。 および2
(両方のa
から およびb
)。その場合、提案されたコードを次のように変更することをお勧めします。
select distinct id from
(
SELECT id, 2 as ordered FROM a -- returns 1,4,2,3
UNION
SELECT id, 1 as ordered FROM b -- returns 2,1
)
order by ordered