1

在我的过程中,我有两个具有相同数据的表。我通过光标浏览我的第一个表格。与第二张表相比,我发现了很多相同的数据。例如,如果在我的 table_1 中我的数据中有 10 个并且我有 12 个数据 table2 如何检测游标遍历的两个 table_1 中的缺失数据怎么办?

谢谢。

4

1 回答 1

3

听起来你最好使用 MINUS 运算符。

SELECT a, b, c
FROM table1
MINUS
SELECT a, b, c
FROM table2

这将向您显示 table1 中存在但 table2 中不存在的所有结果。为了以两种方式显示差异,您可以执行以下操作:

SELECT z.*, 'In table1, not in table2' problem_description
FROM (
  SELECT a, b, c
  FROM table1
  MINUS
  SELECT a, b, c
  FROM table2   
) z
UNION ALL
SELECT z.*, 'In table2, not in table1' problem_description
FROM (
  SELECT a, b, c
  FROM table2
  MINUS
  SELECT a, b, c
  FROM table1   
) z

这个答案的 SQL Fiddle

于 2012-07-10T22:16:40.337 回答