InfoGrab DocsInfoGrab Docs

병합

요약

Merge 노드를 사용하면 여러 스트림의 데이터가 모두 준비되었을 때 이를 결합할 수 있습니다. n8n 팀은 n8n 0.194.0에서 이 노드를 전면 개편했습니다. n8n 버전 1.49.0에서는 두 개 이상의 입력을 추가하는 옵션이 도입되었습니다.

Merge 노드를 사용하면 여러 스트림의 데이터가 모두 준비되었을 때 이를 결합할 수 있습니다.

Note

0.194.0의 주요 변경 사항

n8n 팀은 n8n 0.194.0에서 이 노드를 전면 개편했습니다. 이 문서는 노드의 최신 버전을 반영합니다. 이전 버전의 n8n을 사용 중이라면 여기에서 이전 버전 문서를 찾을 수 있습니다.

Note

1.49.0의 사소한 변경 사항

n8n 버전 1.49.0에서는 두 개 이상의 입력을 추가하는 옵션이 도입되었습니다. 이전 버전은 최대 두 개의 입력만 지원합니다. 이전 버전을 실행 중이며 여러 입력을 결합하고 싶다면 Code node를 사용하세요.

Mode > SQL Query 기능 또한 n8n 버전 1.49.0에서 추가되었으며 이전 버전에서는 사용할 수 없습니다.

노드 매개변수#

Mode를 선택하여 Merge 노드가 서로 다른 데이터 스트림의 데이터를 결합하는 방식을 지정할 수 있습니다.

추가#

모든 입력의 데이터를 유지합니다. Number of Inputs를 선택하여 각 입력의 항목을 순서대로 출력합니다. 노드는 연결된 모든 입력의 실행이 완료될 때까지 대기합니다.

Append 모드 입력 및 출력

결합#

두 입력의 데이터를 결합합니다. 입력 데이터를 병합할 방법을 결정하려면 Combine By에서 옵션을 선택하세요.

일치 필드#

필드 값으로 항목을 비교합니다. 비교하려는 필드를 Fields to Match에 입력하세요.

n8n의 기본 동작은 일치하는 항목을 유지하는 것입니다. Output Type 설정을 사용하여 이 동작을 변경할 수 있습니다.

  • Keep Matches: 일치하는 항목을 병합합니다. 내부 조인(inner join)과 유사합니다.
  • Keep Non-Matches: 일치하지 않는 항목을 병합합니다.
  • Keep Everything: 일치하는 항목을 함께 병합하고 일치하지 않는 항목도 포함합니다. 외부 조인(outer join)과 유사합니다.
  • Enrich Input 1: Input 1의 모든 데이터를 유지하고 Input 2에서 일치하는 데이터를 추가합니다. 왼쪽 조인(left join)과 유사합니다.
  • Enrich Input 2: Input 2의 모든 데이터를 유지하고 Input 1에서 일치하는 데이터를 추가합니다. 오른쪽 조인(right join)과 유사합니다.
Combine by Matching Fields 모드 입력 및 출력

위치#

순서에 따라 항목을 결합합니다. Input 1의 인덱스 0에 있는 항목이 Input 2의 인덱스 0에 있는 항목과 병합되며, 이하 마찬가지입니다.

Combine by Position 모드 입력 및 출력

가능한 모든 조합#

가능한 모든 항목 조합을 출력하며, 이름이 같은 필드는 병합합니다.

Combine by All Possible Combinations 모드 입력 및 출력

Combine 모드 옵션#

Mode > Combine으로 데이터를 병합할 때 다음 Options를 설정할 수 있습니다.

  • Clash Handling: 데이터 스트림이 충돌하거나 하위 필드가 있을 때 병합하는 방법을 선택합니다. 자세한 내용은 Clash handling을 참고하세요.
  • Fuzzy Compare: 필드를 비교할 때 타입 차이를 허용할지(활성화) 여부(비활성화, 기본값)를 선택합니다. 예를 들어 이 옵션을 활성화하면 n8n은 "3"3을 동일하게 취급합니다.
  • Disable Dot Notation: 필드 이름에서 parent.child 형식으로 하위 필드에 접근하는 것을 방지합니다.
  • Multiple Matches: 데이터 스트림을 비교할 때 여러 개가 일치하는 경우 n8n이 처리하는 방법을 선택합니다.
    • Include All Matches: 여러 개가 일치하는 경우 일치 항목마다 하나씩 여러 항목을 출력합니다.
    • Include First Match Only: 일치 항목당 첫 번째 항목만 유지하고 나머지 여러 일치 항목은 버립니다.
  • Include Any Unpaired Items: 위치로 병합할 때 짝이 없는 항목을 유지할지 버릴지 선택합니다. 기본 동작은 짝이 없는 항목을 제외하는 것입니다.
Clash Handling#
참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

SQL 쿼리#

데이터를 병합하기 위한 사용자 지정 SQL 쿼리를 작성합니다.

예시:

SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.id

이전 노드의 데이터는 테이블 형태로 제공되며, 순서에 따라 input1, input2, input3 등으로 SQL 쿼리에서 사용할 수 있습니다. 지원되는 SQL 문의 전체 목록은 AlaSQL GitHub 페이지를 참고하세요.

브랜치 선택#

유지할 입력을 선택합니다. 이 옵션은 항상 두 입력의 데이터가 모두 준비될 때까지 대기합니다. 다음 중에서 Output을 선택할 수 있습니다.

  • Input 1 Data
  • Input 2 Data
  • A Single, Empty Item

노드는 선택한 입력의 데이터를 변경하지 않고 그대로 출력합니다.

템플릿 및 예제#

Merge 통합 템플릿 둘러보기 또는 모든 템플릿 검색

항목 수가 고르지 않은 데이터 스트림 병합#

Merge 노드의 Input 1로 전달된 항목이 우선합니다. 예를 들어 Merge 노드가 Input 1에서 5개의 항목을, Input 2에서 10개의 항목을 받으면 5개의 항목만 처리합니다. Input 2의 나머지 5개 항목은 처리되지 않습니다.

If 노드와 Merge 노드를 사용한 분기 실행#

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

직접 해보기: 단계별 예제#

Merge 노드를 사용해 보기 위해 몇 가지 예제 입력 데이터가 포함된 워크플로를 생성합니다.

Code 노드를 사용해 샘플 데이터 설정하기#

  1. 캔버스에 Code node를 추가하고 Start 노드에 연결합니다.
  2. 다음 JavaScript 코드 스니펫을 JavaScript Code 필드에 붙여넣습니다.
return [
  {
    json: {
      name: 'Stefan',
      language: 'de',
    }
  },
  {
    json: {
      name: 'Jim',
      language: 'en',
    }
  },
  {
    json: {
      name: 'Hans',
      language: 'de',
    }
  }
];
  1. 두 번째 Code node를 추가하고 Start 노드에 연결합니다.
  2. 다음 JavaScript 코드 스니펫을 JavaScript Code 필드에 붙여넣습니다.
return [
	  {
    json: {
      greeting: 'Hello',
      language: 'en',
    }
  },
  {
    json: {
      greeting: 'Hallo',
      language: 'de',
    }
  }
];

다양한 병합 모드 시도하기#

Merge 노드를 추가합니다. 첫 번째 Code node를 Input 1에, 두 번째 Code node를 Input 2에 연결합니다. 워크플로를 실행하여 Merge 노드에 데이터를 로드합니다.

완성된 워크플로는 다음과 같이 보여야 합니다.

워크플로 예제

대화형 워크플로 데모입니다. 워크플로 JSON 보기 또는 n8n 공식 문서에서 확인하세요.

이제 Mode의 다양한 옵션을 시도하여 출력 데이터에 어떤 영향을 미치는지 확인해 보세요.

추가#

Mode > Append를 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan de
Jim en
Hans de
en Hello
de Hallo

일치 필드로 결합#

이 두 데이터 입력을 병합하여 각 사람이 자신의 언어에 맞는 인사말을 받도록 할 수 있습니다.

  1. Mode > Combine을 선택합니다.
  2. Combine by > Matching Fields를 선택합니다.
  3. Input 1 FieldInput 2 Field 모두에 language를 입력합니다. 이렇게 하면 n8n이 각 데이터 세트의 language 필드 값을 일치시켜 데이터를 결합합니다.
  4. Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan de Hallo
Jim en Hello
Hans de Hallo

위치로 결합#

Mode > Combine, Combine by > Position을 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Jim de Hallo
Keep unpaired items#

모든 항목을 유지하려면 Add Option > Include Any Unpaired Items를 선택한 다음 Include Any Unpaired Items를 켭니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Jim de Hallo
Hans de

가능한 모든 조합으로 결합#

Mode > Combine, Combine by > All Possible Combinations를 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Stefan de Hallo
Jim en Hello
Jim de Hallo
Hans en Hello
Hans de Hallo

병합

n8n v2.29
원문 보기
요약

Merge 노드를 사용하면 여러 스트림의 데이터가 모두 준비되었을 때 이를 결합할 수 있습니다. n8n 팀은 n8n 0.194.0에서 이 노드를 전면 개편했습니다. n8n 버전 1.49.0에서는 두 개 이상의 입력을 추가하는 옵션이 도입되었습니다.

Merge 노드를 사용하면 여러 스트림의 데이터가 모두 준비되었을 때 이를 결합할 수 있습니다.

Note

0.194.0의 주요 변경 사항

n8n 팀은 n8n 0.194.0에서 이 노드를 전면 개편했습니다. 이 문서는 노드의 최신 버전을 반영합니다. 이전 버전의 n8n을 사용 중이라면 여기에서 이전 버전 문서를 찾을 수 있습니다.

Note

1.49.0의 사소한 변경 사항

n8n 버전 1.49.0에서는 두 개 이상의 입력을 추가하는 옵션이 도입되었습니다. 이전 버전은 최대 두 개의 입력만 지원합니다. 이전 버전을 실행 중이며 여러 입력을 결합하고 싶다면 Code node를 사용하세요.

Mode > SQL Query 기능 또한 n8n 버전 1.49.0에서 추가되었으며 이전 버전에서는 사용할 수 없습니다.

노드 매개변수#

Mode를 선택하여 Merge 노드가 서로 다른 데이터 스트림의 데이터를 결합하는 방식을 지정할 수 있습니다.

추가#

모든 입력의 데이터를 유지합니다. Number of Inputs를 선택하여 각 입력의 항목을 순서대로 출력합니다. 노드는 연결된 모든 입력의 실행이 완료될 때까지 대기합니다.

Append 모드 입력 및 출력

결합#

두 입력의 데이터를 결합합니다. 입력 데이터를 병합할 방법을 결정하려면 Combine By에서 옵션을 선택하세요.

일치 필드#

필드 값으로 항목을 비교합니다. 비교하려는 필드를 Fields to Match에 입력하세요.

n8n의 기본 동작은 일치하는 항목을 유지하는 것입니다. Output Type 설정을 사용하여 이 동작을 변경할 수 있습니다.

  • Keep Matches: 일치하는 항목을 병합합니다. 내부 조인(inner join)과 유사합니다.
  • Keep Non-Matches: 일치하지 않는 항목을 병합합니다.
  • Keep Everything: 일치하는 항목을 함께 병합하고 일치하지 않는 항목도 포함합니다. 외부 조인(outer join)과 유사합니다.
  • Enrich Input 1: Input 1의 모든 데이터를 유지하고 Input 2에서 일치하는 데이터를 추가합니다. 왼쪽 조인(left join)과 유사합니다.
  • Enrich Input 2: Input 2의 모든 데이터를 유지하고 Input 1에서 일치하는 데이터를 추가합니다. 오른쪽 조인(right join)과 유사합니다.
Combine by Matching Fields 모드 입력 및 출력

위치#

순서에 따라 항목을 결합합니다. Input 1의 인덱스 0에 있는 항목이 Input 2의 인덱스 0에 있는 항목과 병합되며, 이하 마찬가지입니다.

Combine by Position 모드 입력 및 출력

가능한 모든 조합#

가능한 모든 항목 조합을 출력하며, 이름이 같은 필드는 병합합니다.

Combine by All Possible Combinations 모드 입력 및 출력

Combine 모드 옵션#

Mode > Combine으로 데이터를 병합할 때 다음 Options를 설정할 수 있습니다.

  • Clash Handling: 데이터 스트림이 충돌하거나 하위 필드가 있을 때 병합하는 방법을 선택합니다. 자세한 내용은 Clash handling을 참고하세요.
  • Fuzzy Compare: 필드를 비교할 때 타입 차이를 허용할지(활성화) 여부(비활성화, 기본값)를 선택합니다. 예를 들어 이 옵션을 활성화하면 n8n은 "3"3을 동일하게 취급합니다.
  • Disable Dot Notation: 필드 이름에서 parent.child 형식으로 하위 필드에 접근하는 것을 방지합니다.
  • Multiple Matches: 데이터 스트림을 비교할 때 여러 개가 일치하는 경우 n8n이 처리하는 방법을 선택합니다.
    • Include All Matches: 여러 개가 일치하는 경우 일치 항목마다 하나씩 여러 항목을 출력합니다.
    • Include First Match Only: 일치 항목당 첫 번째 항목만 유지하고 나머지 여러 일치 항목은 버립니다.
  • Include Any Unpaired Items: 위치로 병합할 때 짝이 없는 항목을 유지할지 버릴지 선택합니다. 기본 동작은 짝이 없는 항목을 제외하는 것입니다.
Clash Handling#
참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

SQL 쿼리#

데이터를 병합하기 위한 사용자 지정 SQL 쿼리를 작성합니다.

예시:

SELECT * FROM input1 LEFT JOIN input2 ON input1.name = input2.id

이전 노드의 데이터는 테이블 형태로 제공되며, 순서에 따라 input1, input2, input3 등으로 SQL 쿼리에서 사용할 수 있습니다. 지원되는 SQL 문의 전체 목록은 AlaSQL GitHub 페이지를 참고하세요.

브랜치 선택#

유지할 입력을 선택합니다. 이 옵션은 항상 두 입력의 데이터가 모두 준비될 때까지 대기합니다. 다음 중에서 Output을 선택할 수 있습니다.

  • Input 1 Data
  • Input 2 Data
  • A Single, Empty Item

노드는 선택한 입력의 데이터를 변경하지 않고 그대로 출력합니다.

템플릿 및 예제#

Merge 통합 템플릿 둘러보기 또는 모든 템플릿 검색

항목 수가 고르지 않은 데이터 스트림 병합#

Merge 노드의 Input 1로 전달된 항목이 우선합니다. 예를 들어 Merge 노드가 Input 1에서 5개의 항목을, Input 2에서 10개의 항목을 받으면 5개의 항목만 처리합니다. Input 2의 나머지 5개 항목은 처리되지 않습니다.

If 노드와 Merge 노드를 사용한 분기 실행#

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

직접 해보기: 단계별 예제#

Merge 노드를 사용해 보기 위해 몇 가지 예제 입력 데이터가 포함된 워크플로를 생성합니다.

Code 노드를 사용해 샘플 데이터 설정하기#

  1. 캔버스에 Code node를 추가하고 Start 노드에 연결합니다.
  2. 다음 JavaScript 코드 스니펫을 JavaScript Code 필드에 붙여넣습니다.
return [
  {
    json: {
      name: 'Stefan',
      language: 'de',
    }
  },
  {
    json: {
      name: 'Jim',
      language: 'en',
    }
  },
  {
    json: {
      name: 'Hans',
      language: 'de',
    }
  }
];
  1. 두 번째 Code node를 추가하고 Start 노드에 연결합니다.
  2. 다음 JavaScript 코드 스니펫을 JavaScript Code 필드에 붙여넣습니다.
return [
	  {
    json: {
      greeting: 'Hello',
      language: 'en',
    }
  },
  {
    json: {
      greeting: 'Hallo',
      language: 'de',
    }
  }
];

다양한 병합 모드 시도하기#

Merge 노드를 추가합니다. 첫 번째 Code node를 Input 1에, 두 번째 Code node를 Input 2에 연결합니다. 워크플로를 실행하여 Merge 노드에 데이터를 로드합니다.

완성된 워크플로는 다음과 같이 보여야 합니다.

워크플로 예제

대화형 워크플로 데모입니다. 워크플로 JSON 보기 또는 n8n 공식 문서에서 확인하세요.

이제 Mode의 다양한 옵션을 시도하여 출력 데이터에 어떤 영향을 미치는지 확인해 보세요.

추가#

Mode > Append를 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan de
Jim en
Hans de
en Hello
de Hallo

일치 필드로 결합#

이 두 데이터 입력을 병합하여 각 사람이 자신의 언어에 맞는 인사말을 받도록 할 수 있습니다.

  1. Mode > Combine을 선택합니다.
  2. Combine by > Matching Fields를 선택합니다.
  3. Input 1 FieldInput 2 Field 모두에 language를 입력합니다. 이렇게 하면 n8n이 각 데이터 세트의 language 필드 값을 일치시켜 데이터를 결합합니다.
  4. Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan de Hallo
Jim en Hello
Hans de Hallo

위치로 결합#

Mode > Combine, Combine by > Position을 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Jim de Hallo
Keep unpaired items#

모든 항목을 유지하려면 Add Option > Include Any Unpaired Items를 선택한 다음 Include Any Unpaired Items를 켭니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Jim de Hallo
Hans de

가능한 모든 조합으로 결합#

Mode > Combine, Combine by > All Possible Combinations를 선택한 다음 Execute step을 선택합니다.

테이블 보기의 출력은 다음과 같이 보여야 합니다.

name language greeting
Stefan en Hello
Stefan de Hallo
Jim en Hello
Jim de Hallo
Hans en Hello
Hans de Hallo