आप यह करना चाहते हैं:
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
अपडेट करें
मैंने देखा है कि भले ही आपके पास दो अलग-अलग टेबल हों, आप आईडी से जुड़ते हैं, यानी, यदि आपके पास 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