2013-05-02 33 views
0

2個存儲過程由.net開發人員開發。當你傳遞相同的參數時,它們會給出相同的記錄數?如何在sql server 2008 R2的存儲過程中查找記錄計數不匹配?

現在由於一些變化,我們越來越不匹配記錄數即

如果第一個存儲過程是給2個記錄的paramemter,第二SP所賜僅1記錄。

找到這個我也跟着像 該方法我驗證

  1. 我計數的表的總記錄在接合通過接合 3.distinct /組用於
  2. 總表中的表2被用於後或不?

終於我無法找到問題。

我該如何解決?

任何機構都可以分享一些想法。

在此先感謝?

+0

您將需要添加一些代碼和表格。 – gbn 2013-05-02 13:25:42

+0

我不確定你在這裏會得到什麼答案:你說兩個不同的代碼段做了不同的事情,這並不奇怪。你真的看了他們的代碼嗎?什麼是「一些變化」?你是否[diff](http://en.wikipedia.org/wiki/Diff)這兩個程序的源代碼找到了區別?如果兩個程序實際上是相同的,那麼爲什麼不把一個程序扔掉並繼續使用其他(正確的)程序呢? – Pondlife 2013-05-02 19:51:25

回答

0

假設相同的JOIN和過濾器,則問題是NULL。

也就是說,無論是

  • WHERE子句具有直接NULL比較將失敗
  • 甲COUNT是一個空的列。見Count(*) vs Count(1)更多

無論哪種方式,你爲什麼有2名不同的開發人員編寫的同一個非常相似的存儲過程,這似乎有區別嗎?

相關問題