Level (1) 썸네일형 리스트형 한 행 안에 있는 문자열 여러개를 특정 구분자로 나눠서 열에서 행으로 변환하기 (CONNECT BY, LEVEL, PLATTEN()와 함께 LATERAL 사용하기) 테이블 내 하나의 컬럼에 쉼표를 구분자한 데이터가 들어있어서 이를 하나씩 row로 꺼내서 적재해야했다. 오라클의 경우를 생각하면 level, connect by를 활용해서 단순하게 끝날 수 있을 거 같았는데....Snowflake의 경우 살짝 달라서 시간을 많이 잡아먹었다...아무리 찾아봐도 이해가능하게 제대로 설명된 문서가 없었음.. 결론만 말하자면 1. CONNECT BY를 쓸 경우, PRIOR을 무조건 써주어야한다. (안쓰면 PRIOR없다고 에러 발생함)2. 항상 CONNECT BY 절은 다른 테이블이 아닌 자기 자신에 조인한다.(자세한 예시는 아래에..)3. LEVEL 선언 후 사용해야한다. 실제 데이터와 코드를 보면 쉽다.우선 WITH절 사용해서 아래 표와 같은 샘플데이터 TMP를 만들 것이다... 이전 1 다음