2016-08-18 69 views
0

我有以下臨時表,並使用相同的數據的目標表中的記錄:SSIS - 插入所有匹配的ID

ID | Name | Job | Hash 
1 | A | IT  | XYZ1 
2 | B | Driver | XYZ2 

臨時表被每一次截斷,新的數據被插入。有時候,一個人可以得到第二份工作。在這種情況下,我們在登臺表中有兩條記錄ID 2Name B, but with a different作業and散列。

ID | Name | Job | Hash 
1 | A | IT  | XYZ1 
2 | B | Driver | XYZ2 
2 | B | IT  | XYY4 

如果發生這種情況,我需要將ID爲2的所有記錄插入到目標表中。我已經有一個LKP檢查(非)匹配的ID,但是我怎麼能「告訴」SSIS根據從no匹配輸出得到的ID從暫存表中獲取所有記錄?

+0

如果您轉移使用SQL任務的數據。這是很容易的。雖然我不太瞭解你的規則。 –

+0

我會試着用這種方式解釋它。我的問題在於,我有多個具有相同ID的記錄。如果其中一個具有該ID的記錄與我們在目標表中已有的記錄不同,則需要插入具有該ID的所有記錄。我知道如何插入帶有更改的ID,但是如何插入具有與更改ID相同的ID的所有記錄。 – DenStudent

+0

因此,當源和目標中有2個驅動程序時,您什麼也不插入。當源中有2 /驅動程序和2/IT,目標中有2 /驅動程序時,是否將兩個記錄從源中插入?然後你會在目標中得到三條記錄,其中兩條是重複的。 –

回答

0

您可以通過鏈接將查找的不匹配輸出告訴目標。假設您已經在lookup-general中設置了'重定向行到不匹配輸出'。在你的查詢中,你檢查匹配 id(不知道你如何檢查不匹配)這樣,查找將輸出所有不匹配的行(由Id)到目的地。

enter image description here

enter image description here