【发布时间】:2011-11-12 22:05:00
【问题描述】:
我有一个场景,我需要加入两个 SQL 表,并且正在努力解决如何去做。 假设在表 A 中我有这个:
ColA ColB ColC ColD
45 55 17 45
45 55 17 47
45 55 17 49
45 55 17 51
在表 B 中我有这个:
ColA ColB ColC ColE
45 55 17 55
45 55 17 56
45 55 17 57
45 55 17 58
我需要创建一个如下所示的表 - 请注意仅 4 行,而不是我使用的内部连接产生的 16 行。
ColA ColB ColC ColD ColE
45 55 17 45 55
45 55 17 47 56
45 55 17 49 57
45 55 17 51 58
我几乎没有想法。两个表将始终具有相同的行数。有没有办法使用连接来做到这一点,或者我应该遍历表 A(即获取行号)并在表 B 中获取匹配的行号?
任何想法将不胜感激。
【问题讨论】:
-
您使用的是哪个版本的 SQl Server,以及如何确定它们匹配的顺序。另外,看看 ROW_NUMBER msdn.microsoft.com/en-us/library/ms186734.aspx
标签: sql-server tsql join iteration sql-server-2008-r2