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发布一个与真实数据集类似的样本数据集。因此,我正在解决的问题非常具体,没有解释场景的空间。