0

2 存储过程由.net 开发人员开发。当您传递相同的参数时,哪些会给出相同的记录数?

现在由于一些变化,我们得到了不匹配的记录计数,即

如果第一个存储过程为参数提供 2 条记录,则第二个 SP 仅提供 1 条记录。

为了找到这个,我遵循了我验证过的方法

  1. 加入后我统计了一个表的总记录
  2. 加入 3.distinct / group by 时使用的总表是否在 2 个表中使用?

最后我无法找到问题。

我如何解决它?

任何机构都可以分享一些想法。

提前致谢?

4

1 回答 1

0

假设相同的 JOIN 和过滤器,那么问题是 NULL。

也就是说,要么

  • WHERE 子句具有直接的 NULL 比较,这将失败
  • COUNT 在可为空的列上。有关更多信息,请参见Count(*) 与 Count(1)

无论哪种方式,为什么您有由 2 个不同的开发人员编写的相同非常相似的存储过程,它们似乎存在差异?

于 2013-05-02T13:27:40.853 回答