Sie möchten dies tun:
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
Aktualisieren
Ich habe festgestellt, dass Sie, obwohl Sie zwei verschiedene Tabellen haben, die IDs zusammenfügen, dh wenn Sie 1
haben In beiden Tabellen erhalten Sie nur ein Vorkommen. Wenn das das gewünschte Verhalten ist, sollten Sie sich an UNION
halten . Wenn nicht, wechseln Sie zu UNION ALL
.
Ich bemerke also auch, dass Sie, wenn Sie zu dem von mir vorgeschlagenen Code wechseln, anfangen würden, beide 1
zu erhalten und 2
(von sowohl a
und b
). In diesem Fall sollten Sie den vorgeschlagenen Code ändern in:
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