Ett sätt
SELECT *,1 as SortOrder FROM table1
UNION
SELECT *,2 FROM table2
UNION
SELECT *,3 FROM table3
UNION
SELECT *,4 FROM table4
order by SortOrder
vad som händer är att du använder UNION, sql-servern gör sedan resultatuppsättningen distinkt, för att göra det måste den sortera tabellerna
Gör UNION ALL
göra skillnad?