2016-07-18 60 views
0

我有學習informatica powercenter。我能夠在兩個VIEW之間做一個INNER JOIN。我在用戶定義的加入中添加了INNER JOIN,但在點擊驗證時仍然需要在Sql Query中做出正確的更改。當我加入VIEWS時,是否只需要添加到用戶定義的加入?Informatica Powercenter添加選擇LISTAGG查詢

這是我的問題。我有另一個VIEWs,它是一對多的,所以這將是我第三次添加到查詢中的VIEW。我在TOAD上運行。我如何將此添加到Infromatica?我是否避免使用Sql查詢部分並將整個查詢添加到用戶定義的查詢中? LISTAGG是否適用於Informatica?

如果不在查詢LISTAGG(一對多關係)中,它是更好還是有辦法在像表達式轉換這樣的轉換中執行此操作?

謝謝。

此查詢是一個SELECT,LISTAGG,CASE

SELECT PERSON_ID, 
     FIRST_NAME, 
     MIDDLE_NAME, 
     LAST_NAME, 
     LISTAGG(val,',') WITHIN GROUP (ORDER BY Table2.SKILL_SHORT_DESC) 

FROM (SELECT DISTINCT Table1.PERSON_ID, 
     Table1.FIRST_NAME, 
     Table1.MIDDLE_NAME, 
     Table1.LAST_NAME, 
     (case 
      when Table2.SKILL_SHORT_DESC = '1' then '1:1' 
      when Table2.SKILL_SHORT_DESC = '2' then '2:2' 
      when Table2.SKILL_SHORT_DESC = '3' then '3:3' 
      when Table2.SKILL_SHORT_DESC = '4' then '4:4' 
      when Table2.SKILL_SHORT_DESC = '5' then '5:5' 
      when Table2.SKILL_SHORT_DESC = '6' then '6:6' 
      when Table2.SKILL_SHORT_DESC = '7' then '7:7' 
      when Table2.SKILL_SHORT_DESC = '8' then '8:8' 
      when Table2.SKILL_SHORT_DESC = '9' then '9:9' 


      else '' 

     end) as val 

FROM Table1 
LEFT JOIN Table2 

ON Table2.PERSON_ID = Table1.PERSON_ID 
) 
GROUP BY PERSON_ID,FIRST_NAME,MIDDLE_NAME, LAST_NAME 

回答

0

是,LISTAGG應該工作。假設你正在使用oracle,它應該可以運行10.x和更高版本。坦率地說,Informatica並不關心你寫成SQL,而是關心SQL發佈的數據庫。你可以寫'我是蝙蝠俠',INFA會返回'無效語法'。

Koushik