2013-03-27 21 views
0

我已經加入了5個表並對這些表進行了轉換。現在我在最後得到一張桌子。現在我想在這張表上執行sql查詢來過濾記錄。但我不知道如何在這個表上執行簡單的sql查詢。我附上了一張顯示結果表的快照。我如何獲得這個結果數據集作爲源?我想在過濾掉這些數據後填充我的目的地。 我使用SSIS 2008SSIS中已轉換表上的SQL查詢

Click here to see the Table on which I want to perform a simple sql query

回答

0
SELECT * FROM `first_table` 
where `some_column` = 
(
SELECT `*` 
FROM second_table 
WHERE 
`some_column2`='something' 
LIMIT 1 
) 

試試這個代碼,這將幫助。你甚至可以用它來連接所有這四個表格。

0

從您發佈的圖像看,您似乎在您嘗試查詢的數據流中有一組數據。此時你需要做兩件事中的一件。您可以將數據插入數據庫的表中,並使用另一個數據流來查詢它,或者使用條件拆分(或多點傳送和條件拆分)來進一步過濾這些行。

沒有關於您實際嘗試完成的更多細節,這些是我可以確定的建議。

可能將行發送到記錄集目標中,但您無法像常規表那樣查詢它,並且您需要一些C#/ VB技能才能訪問它以執行更多的FOR EACH循環。

0

假設您想針對結果表運行您的sql查詢很簡單,您可以使用腳本組件任務。簡單來說,我的意思是,如果它是這樣的性質: 選擇*從T其中a ='zz'和b ='XX'等

但是,如果您的查詢有自我加入,那麼你會更好將這5張桌子加入實體桌子的結果傾倒,然後從那裏開始。

看來,查詢將是真正直接的;在這種情況下使用腳本組件會很有幫助。

另一個問題:建議在數據庫級別進行排序。您在解決方案中使用5種排序任務。你能說清楚原因嗎?