0

我正在从 table1 进行计数,其记录/行在 table2 中不存在

这是查询:

select count(1) from table1
where not exists (select 1 from table2 where
                  table1.col1 = table2.col1
                  and table2.id=1)

我需要查看 table2 中缺少的记录,其 id 在 table2=1 中,并且这些记录应该在 table1 中可用。这里的PK是col1。

查询返回 0。但是,如果我通过将两个表都删除到 excel 来进行 excel 表比较。我可以找到 table1 中缺少的 1591 条记录,这些记录在 table2 中可用。

4

1 回答 1

0

您的查询工作正常。

您查询查找存在table1但不存在的记录table2

您发现 Excel 记录中不存在table1和存在于table2

如果您想使用 SQL 查找这些记录,那么您的查询应该是:

select count(1) from table2 
where table2.id=1 and table2.col1 not in (select col1 from table1)

或不存在此查询的版本:

select count(1) from table2 
where table2.id=1 and 
      not exists (select 1 from table1 where table1.col1=table2.col1)

我没有测试查询。

于 2013-03-07T07:37:32.560 回答