2011-03-08 68 views
2

我有一個數據流任務,執行一些腳本組件任務,排序,然後做一個合併加入。我希望合併連接以1人爲單位進行連接。如果我內部聯接,我得太少記錄:Too Few RecordsSSIS 2005可以合併加入容納一對多連接

如果我做左外連接,我得到了太多的記錄:WAY too many!

我在尋找的「恰到好處的金髮版本'(這將是39240條記錄)。

+0

這是更多的數據庫問題,所以發佈示例表結構,示例數據,預期結果。拋出一個不錯的SSIS圖形/ Visio圖形很漂亮,但對解決你的問題完全沒有幫助。 – JonH 2011-03-08 20:04:15

回答

2

您可以後添加一個條件性拆分你的左邊加入合併的版本加入,與非匹配條件一樣

isnull(tmpAddressColumn) 

,併發送相關匹配的流狀況(默認輸出)到你的目的地。

如果仍然沒有得到正確的數字,您需要檢查合併連接條件並檢查每個源中是否有重複的ID。

+0

我很欣賞答案,但我不確定如何實現它。通過在數據流中執行操作並轉儲2個表中的值,然後使用Execute SQL Task執行UPDATE腳本以將列值添加到目標表中,我能夠解決此問題。 – JFV 2011-03-10 17:54:09

0

行數不應該是你用來衡量你是否使用了合併加入的正確選項。結果數據集應該是驅動因素。 tmpManAddress表中的結果是否正確?

對於開發,您可能希望將腳本組件的輸出推送到表中,以便您可以查看開始的數據。這將允許您計算出哪種類型的連接以及哪些列可以爲您提供所需的結果。