2011-05-03 93 views
1

我需要比较一个excel列的值与sql数据库表中的列。 我将如何做到这一点?与SQL比较

+0

如果这是一次性交易,请复制/粘贴工具中的两列,比如无法比较并完成。 – 2011-05-03 06:24:53

+0

@Lieven - 你想先对它们进行排序。 – 2011-05-03 07:01:17

+1

@Graphain,不*我*不会,OP可能。 ;) – 2011-05-03 18:35:33

回答

4

一种方法是导入Excel值到一个临时SQL Server表(例如,使用SQL Server中的Import Data向导),然后用几个很好的SQL数据的一个比较喜欢Red-Gate SQL Data CompareApexSQL SQL Data Diff工具两个表进行比较在SQL Server中。

1

The solution from marc_s是优先选项,因为您可以对数据执行SQL查询,包括WHERE NOT IN

另一种方法是从表格中执行SELECT *(确保您的Management Studio设置为显示足够的行),将其复制/粘贴到Excel旁边的现有数据中,然后以相同的方式在Excel中对两列进行排序。

然后,如果你希望他们是相当接近,只是在寻找一对夫妇不匹配的,(如果要区分大小写=A1=B1=EXACT(A1,B1))上下拖动该公式中的所有行的比较式添加到第三列。当然这会在第一个错误之后“关闭”,这意味着要么在这一点上将行从另一列向下移动,以便在每次错误之后进行补偿(在该行的一列中留下“空白”条目),或者简单地抓住一个diff工具,如下所述。

如果您期望它们显着偏离或已经有一个方便的工具,比较/比较工具(如BeyondCompare)代替比较列将使此比较操作最容易。

+0

'B!'?你的意思是'B1'? – 2011-05-03 06:58:45

+0

@Andriy M - 是的,正确的欢呼声。 – 2011-05-03 07:00:41