2017-06-22 29 views
0

我有一個視圖查詢(這很重),所以我想避免再次查詢。talend - 將tMap輸出到另一個查詢

該查詢的輸出被轉換並放入文件中。該文件上有一個唯一的參考號(查詢中的字段參考)。

我需要作爲輸入的「引用」作爲我的第二個查詢中的where子句。

我想這個流程: 1子作業:

        tOutputFile  
           / 
tOracleInput -> tMap -> tReplicate 
            \ 
            tMap (will only map the reference field) 
            \ 
            tSetGlobalVar 
             (set to a list, and add to globalMap) 

當完全是子作業,未來將子作業運行;

tOracleInput (build the where clause from the list from globalMap) -> tMap -> tOutputFile 

這個設計看起來好嗎?或者我最好在我的第二個tOracleInput的引用號上使用子查詢?

SELECT ... FROM table1 WHERE references IN (SELECT references from BIGVIEW WHERE ...) 

回答

0

根據爲參考字段檢索多少個不同的值,查詢應該超過Oracle授權的最大長度。
您應該考慮使用由「每行重新加載」查找模型提供的工具將這些值與第二個tOracleInput結合使用。
李爾如何運作here

希望這會有所幫助。

相關問題