Sql 如何从两个表中选择备用行

Sql 如何从两个表中选择备用行,sql,sql-server,linq,Sql,Sql Server,Linq,有两个表,我想显示两个表中交替行的结果,就像UNION ALL 您能帮我在MS SQL Server查询中找到解决方案吗 表1的记录: id - value ------------- 1 - abc 4 - dce 9 - fgh 16 - ijk 25 - lmn 表2的记录: id - value ------------- 5 - opq 10 - rst 15 - uvw 20 - xyz 25 - zab 我想要的结果是: Id - value -

有两个表,我想显示两个表中交替行的结果,就像
UNION ALL

您能帮我在MS SQL Server查询中找到解决方案吗

表1的记录

id - value
-------------
 1 - abc
 4 - dce
 9  - fgh
 16 - ijk 
 25 - lmn 
表2的记录

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 

----------------

我认为这样做可以满足您的需要,但是您必须更改查询并在
OVER
子句的
orderby
语句中添加表名和列名

另外,请注意,两个表必须具有相同的列数和数据类型,才能在
联合中工作

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

表没有固有的顺序。如果希望结果按特定顺序显示,则必须告诉我们(和SQL Server)行的排序规则。你现在不太可能得到答案,因为我们甚至不知道桌子是什么样子,更不用说正确的规则是什么了。。工作正常。谢谢…那么别忘了把它标记为正确答案。只使用ROWNUM?(如果表实际上是以相同的方式填充的…@FrancescoGabbrielli,您通常希望OP发布一个与真实数据集类似的样本数据集。因此,我正在解决的问题非常具体,没有解释场景的空间。