2016-07-18 6 views
0

Ich habe lernen Informatica Powercenter. Ich konnte einen INNER JOIN zwischen zwei VIEWs machen. Ich habe den INNER JOIN im benutzerdefinierten Join hinzugefügt, muss aber noch korrekte Änderungen in der Sql-Abfrage vornehmen, wenn ich auf Validate klicke. Muss ich den benutzerdefinierten Join nur hinzufügen, wenn ich VIEWS beigetreten bin?Informatica Powercenter Hinzufügen Auswählen LISTAGG Abfrage

Hier ist mein Problem. Ich habe eine andere VIEWs, die eins zu viele ist, so wird dies meine dritte VIEW sein, um die Abfrage hinzuzufügen. Ich habe das auf TOAD laufen lassen. Wie füge ich das zu Infromatica hinzu? Vermeide ich einfach den Abschnitt SQL-Abfrage und füge die gesamte Abfrage in die benutzerdefinierte Abfrage ein? Arbeitet LISTAGG in Informatica?

Wenn nicht in der Abfrage für LISTAGG (one-many-Beziehung), ist es besser oder gibt es eine Möglichkeit, dies in der Transformation wie Ausdruck Transformation zu tun?

Danke.

Diese Abfrage ist ein 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 

Antwort

0

Ja, LISTAGG funktionieren sollte. Angenommen, Sie verwenden Oracle, sollte es 10.x und höhere Version arbeiten. Ehrlich gesagt ist es Informatica egal, was Sie als SQL schreiben, aber die Datenbank, in der SQL ausgegeben wird, spielt eine Rolle. Sie können schreiben "Ich bin Batman" und infa wird zurückkehren, "Ungültige Syntax".

Koushik

Verwandte Themen