저는 Informatica Components에 대한 경험 부족, 특히 SQL 변환으로 인해 아직 구현되지 않은 과제에 직면하고 있습니다. informatica 다중 상관 서브 쿼리 구현
SELECT
A.ID,
NVL2(A.SACHKONTO, B.KLAMMER, A.ID) AS KLAMMER
FROM
Table1 A,
(SELECT
A.ID AS KLAMMER,
B.ID
FROM
(SELECT
ID,
ID AS VON_ID,
LEAD(ID,1) OVER (ORDER BY ID) - 1 AS BIS_ID
FROM
Table1
WHERE
SACHKONTO IS NULL) A,
Table1 B
WHERE
B.ID BETWEEN A.VON_ID AND A.BIS_ID
) B
WHERE
A.ID = B.ID
그래서 나는 작은 successed 서로 다른 approch을 시도 : 그래서 PowerCenter를 최고의 approch가 하위 쿼리의이 종류를 구현하는 것입니다 무슨. 첫 번째 부분은 SQL을 "분해"하는 것입니다. 필요한 경우 참조하거나 질문을 편집합니다. 또한 모든 쿼리를 Informatica SQL "언어"에 적용했지만 성공하지 못했습니다.
성능을 중요하게 고려하지 않고 이러한 쿼리를 복제 할 수있는 가장 가까운 솔루션입니다 SQ에서 SQL Override를 사용합니다.) 그러나 테이블 결과에서 조인은 적절하게 처리되지 않았으므로 올바른 순서로 조인을 실행하기 위해 다른 파이프 라인을 추가해야한다고 생각합니다.
내 매핑 솔루션 :
답변 해 주셔서 감사합니다. 나는 여전히 "BETWEEN A.VON_ID AND A.BIS_ID"를 소목 조건으로 유지하는 방법을 이해하지 못했다. 두 번째 하위 쿼리에서 SQL Trasformation을 사용하려고했으나 2에서 입력을 보낼 수 없다. SQ ("변환을 SQL에서 오류가 발생했습니다"오류) –
"사이"의 논리에 대한 해결책을 찾았습니다. 기본적으로 Source 한정자에서 SQL 재정의를 사용했습니다. 내가 직면하고있는 불편 함은 여전히 다른 SQL 테이블에 대한 임시 테이블 (SQL 엔진의 마지막 하위 쿼리에있는)입니다. 사실, 내부 하위 쿼리에서 오는 값을 저장하기위한 테이블을 만듭니다. 즉, lead 함수의 값이 있습니다. 그런 다음 두 번째 하위 쿼리의 "저장소"값에 대한 다른 테이블을 만들어야합니다. –
이것은 실제로 스키마에없는 추가 테이블을 필요로하지 않고도 실제로 나에게 잘 어울리지 않습니다. 도움이 필요 하신가요? –