2014-12-23 92 views
0

我從SQL任務的resulset生成變量作爲對象。 SQL任務基本上是從myTable查詢中選擇myID。使用select in查詢來篩選行

我需要做的是我必須使用另一個返回的ID來過濾其他表。我在任務流中使用了條件分割,但是我怎樣才能使它像tsql上的「選擇查詢」一樣。我的意思是從table2中選擇myOtherID在(x,y,z)中

這些x,y,z是整數,並且應該是第一個查詢返回的內容,它保存在我的VarIds對象變量中。

感謝您的幫助。

回答

1

您可以將該變量傳遞給腳本任務以遍歷這些值並將結果集轉換爲字符串形式的查詢。

將字符串查詢保存到變量後,您可以稍後在控制流中創建數據流任務。它需要從一個將執行您的選擇查詢的OLEDB源形狀開始。

在OLE DB源代碼編輯器中,將數據訪問模式下拉菜單設置爲「變量中的SQL命令」並選擇您的變量。

這應該做到這一點。

+0

它工作正常,但讓我知道如果可能的話,如果我在我的腳本任務而不是完整的SQL查詢中創建一個昏迷分離的字符串,我可以用它來過濾已經存在的數據表結果嗎?使用條件分割,查找或任何其他工具? – batmaci

+1

您可以使用查找任務來過濾數據。您可以將過濾器結果保存到變量中,而不必將它們直接寫入新數據流任務中的緩存連接管理器。然後,您可以在連接類型爲「緩存連接管理器」的待過濾數據的下游添加查找任務。從之前選擇您的緩存並鏈接列以在列屏幕上過濾,並且它應該過濾您的數據。 –