有两个表,我想显示两个表中备用行的结果,就像UNION ALL
一样。
您能帮我找一下MS SQL Server查询中的解决方案吗?
Table1
的记录:
id - value
-------------
1 - abc
4 - dce
9 - fgh
16 - ijk
25 - lmn
Table2
的记录:
id - value
-------------
5 - opq
10 - rst
15 - uvw
20 - xyz
25 - zab
我想要的结果:
Id - value
-----------
1 - abc
5 - opq
15 - uvw
9 - fgh
15 - uvw
20 - xyz
16 - ijk
25 - lmn
25 - zab
----------------
答案 0 :(得分:4)
我认为这会为您完成,但您必须更改查询并在ORDER BY
子句的OVER
语句中添加表名和列名。
另外,请注意,两个表必须具有相同的列数和相同的数据类型才能使它们在UNION
中工作。
SELECT
ROW_NUMBER() OVER (ORDER BY column),
1 AS 'rowOrder',
*
FROM TABLE1
UNION ALL
SELECT
ROW_NUMBER() OVER (ORDER BY column),
2 AS 'rowOrder',
*
FROM TABLE2
ORDER BY 1, 2