我有两个表TABLE_A
和TABLE_B
,我使用Union All
在SQL Server 2008中跟随Order By
获取记录
SELECT *
FROM
(
SELECT *, 1 sortby FROM TABLE_A
UNION ALL
SELECT *, 2 sortby FROM TABLE_B
) Temp
ORDER BY sortby
但问题是上面的语句Order By
只有来自Table_A
和Table_B
的数据不在Order By
,我想在两个表上添加Order By条件,数据应该来自TABLE_A然后在从TABLE_B进行资产分配之后。
如何做到这一点。
答案 0 :(得分:8)
在order
子句
SELECT *
FROM
(
SELECT *, 1 sortby FROM TABLE_A
UNION ALL
SELECT *, 2 sortby FROM TABLE_B
) Temp
ORDER BY sortby, other_column_of_result
答案 1 :(得分:1)
我们也可以这样做
SELECT *
FROM
(
SELECT *, 1 firstsortby, 2 secondsortby FROM TABLE_A
UNION ALL
SELECT *, 2 firstsortby, 1 secondsortby FROM TABLE_B
) Temp
ORDER BY firstsortby, secondsortby