2014-02-13 69 views
3

請非常初級的問題。我有一個簡單的腳本,用於查找不同表格中的記錄 - 在這種情況下,是指派給患者治療的醫生。由於缺乏數據質量控制,許多記錄沒有分配正確的醫生ID,因此查找返回不匹配的輸出。然後我必須爲這些記錄創建一個虛擬醫生。之後,我想將兩個記錄集合合併爲1.SSIS聯盟所有不返回所有記錄

在我的測試數據庫中,我總共有20 599條記錄。查找轉換返回9 124個提供無匹配輸出的記錄和11 475個記錄。我不明白的是,當我全部加入聯盟時,結果總共只有17 885條記錄。 (請看下面的截圖,問題發生@查找服務醫生,然後聯盟所有)

以前從未有過這個問題。我在這個腳本的其他部分多次使用相同的技巧,並且它們都返回正確的記錄數。任何幫助將不勝感激

Screenshot showing the number of records

+0

這很奇怪。如果你打補丁到SP1,甚至可能到CU8,問題依然存在? – billinkc

+0

我實際上在SP1(11.0.3128.0)開發環境是在SQL Server 2012開發版(64位)上。 Windows 7 X64 Build 7601 SP1 – theUnderdog

+0

極不可能,但如果在查找之前進行行計數轉換,每個查找的輸出流上有一個,並且在union all之後有一個最後一個,計數是否與GUI顯示的內容相匹配? – billinkc

回答

0

你可以不用從查找2條路徑。

  1. 您只需在第一個查找窗口中設置爲'忽略失敗'即可。
  2. 添加 '派生列' 元素,並把這樣的事情:

    ServicingDoctor-Replace'ServicingDoctor'-ISNULL(ServicingDoctor)? 「NA」:ServicingDoctor