2016-07-18 19 views
0

私はinformatica powercenterを学習しています。私は2つのVIEWの間でINNER JOINを行うことができました。ユーザー定義結合でINNER JOINを追加しましたが、ValidateをクリックしてもSql Queryで正しい変更を加えなければなりません。 VIEWSに参加しているときにユーザー定義の結合に追加するだけでよいですか?Informatica Powercenter Select LISTAGGクエリを追加

これは私の問題です。 1対多のVIEWがあるので、これをクエリに追加するための3番目のVIEWになります。私はこれをTOADで走らせた。これをInfromaticaに追加するにはどうすればいいですか? SQLクエリセクションを避け、クエリ全体をユーザー定義クエリに追加するだけですか? LISTAGGはInformaticaで動作しますか?

LISTAGG(1対多の関係)のクエリに含まれていない場合は、式変換のような変換でこれを行う方が良いですか?

ありがとうございました。

このクエリでは、はい、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

です。あなたがOracleを使用していると仮定すると、10.x以上のバージョンで動作するはずです。率直に言って、InformaticaはあなたがSQLとして書いたものを気にしませんが、SQLが発行されるデータベースは重要です。あなたは「私はバットマンです」と書かれ、「無効な構文」が返されます。

koushik

関連する問題