【发布时间】:2012-10-19 10:27:08
【问题描述】:
SQL Server 2008
两个表:
表A有以下数据:
RowA
RowB
RowC
RowD
表B有以下数据:
Row4
Row3
Row2
Row1
我想得到以下输出:
RowA Row1
RowB Row2
RowC Row3
RowD Row4
两个表唯一共同的值是行号
我当然可以单独获取数据:
SELECT val
FROM A
ORDER BY val
SELECT val
FROM B
ORDER BY val
但是如何加入行号?
如果我没有 order-by,但只希望行按它们出来的顺序怎么办?
RowA Row4
RowB Row3
RowC Row2
RowD Row1
在连接中
SELECT val
FROM A
SELECT val
FROM B
【问题讨论】:
-
请注意:只要您没有明确指定
ORDER BY,从表中返回行的顺序不保证。明天可能会有所不同......因此,仅根据它们在或多或少随机输出序列中的“序数”位置链接来自两个不同表的两行是不可重现且不可靠的。如果您的两个表没有任何共同点 - 基本上,您无法真正“连接”任一表中的两个数据集... -
我意识到,但在我的现实生活中,这两个表来自函数并且将始终处于相同的顺序
标签: sql sql-server sql-server-2008