ROOM64 / KNOWLEDGE / N8N

การใช้งาน Merge

Merge — เอกสารประกอบสำหรับ node Merge ใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง

อ่านต้นฉบับที่ n8n Official Docs ↗
คำแปลอัตโนมัติภาษาไทย แปลด้วย Google Translate / M2M100 จากเอกสาร n8n ณ วันที่ 2026-09-28 ยังไม่ได้ตรวจทานทางเทคนิคทุกหน้า โค้ดและ expression คงตามต้นฉบับ ชื่อ node เมนู และศัพท์เทคนิคคงภาษาอังกฤษเพื่อเทียบกับหน้าจอ n8n

Core nodes · จัดการข้อมูลและลำดับงาน · Merge

← Core nodes

สารบัญในหน้านี้

เอกสารประกอบสำหรับ node Merge ใน n8n ซึ่งเป็นแพลตฟอร์มอัตโนมัติของ workflow รวมถึงคำแนะนำในการใช้งาน และลิงก์ไปยังตัวอย่าง

ใช้ node Merge เพื่อรวมข้อมูลจากหลายสตรีม เมื่อมีข้อมูลของสตรีมทั้งหมดแล้ว

ความพร้อมใช้งานของคุณสมบัติ (Feature availability)

node Merge ได้รับการแก้ไขใน n8n 0.194.0 เอกสารนี้แสดงถึงเวอร์ชันล่าสุดของ node เอกสารประกอบสำหรับ n8n เวอร์ชันเก่ามีอยู่ใน ก่อนยกเครื่องผสานเอกสาร node .

การใช้ node Merge ที่มี input มากกว่าสองรายการ และ โหมด > แบบสอบถาม SQL (Mode > SQL Query) คุณลักษณะนี้พร้อมใช้งานตั้งแต่ n8n 1.49.0 เวอร์ชันเก่ารองรับ input สูงสุด 2 input เท่านั้นและไม่รวมอยู่ด้วย โหมด > แบบสอบถาม SQL (Mode > SQL Query) . หากคุณใช้เวอร์ชันเก่าและต้องการรวม input หลายรายการ ให้ใช้ Code.

parameter node

คุณสามารถระบุวิธีที่ node Merge ควรรวมข้อมูลจากสตรีมข้อมูลต่างๆ โดยเลือก Mode:

Append

เก็บข้อมูลจาก input ทั้งหมด เลือกก Number of Inputs เพื่อส่งออกรายการของแต่ละ input ทีละรายการ node รอการดำเนินการของ input ที่เชื่อมต่อทั้งหมด

ภาพประกอบ Merge จาก n8n

ผนวกโหมด input และ output

Combine

รวมข้อมูลจากสอง input เลือกตัวเลือกใน Combine By เพื่อกำหนดว่าคุณต้องการรวมข้อมูลที่ป้อนเข้าอย่างไร

Matching Fields

เปรียบเทียบรายการตามค่าฟิลด์ กรอกช่องที่คุณต้องการเปรียบเทียบ Fields to Match.

พฤติกรรมเริ่มต้นของ n8n คือให้รายการที่ตรงกัน คุณสามารถเปลี่ยนสิ่งนี้ได้โดยใช้ Output Type การตั้งค่า:

  • Keep Matches : รวมรายการที่ตรงกัน นี่เป็นเหมือนการรวมภายใน
  • Keep Non-Matches : รวมรายการที่ไม่ตรงกัน
  • Keep Everything : รวมรายการที่ตรงกันและรวมรายการที่ไม่ตรงกันเข้าด้วยกัน นี่เป็นเหมือนการรวมภายนอก
  • Enrich Input 1 : เก็บข้อมูลทั้งหมดจาก input 1 และเพิ่มข้อมูลที่ตรงกันจาก input 2 นี่เป็นเหมือนการรวมด้านซ้าย
  • Enrich Input 2 : เก็บข้อมูลทั้งหมดจาก input 2 และเพิ่มข้อมูลที่ตรงกันจาก input 1 นี่เป็นเหมือนการรวมที่ถูกต้อง
ภาพประกอบ Merge จาก n8n

รวม input และ output โหมด Matching Fields

Position

รวมรายการต่างๆ ตามคำสั่งซื้อ รายการที่ดัชนี 0 ใน input 1 จะผสานกับรายการที่ดัชนี 0 ใน input 2 และอื่นๆ

ภาพประกอบ Merge จาก n8n

รวมตาม input และ output โหมดตำแหน่ง

All Possible Combinations

แสดงผลการรวมรายการที่เป็นไปได้ทั้งหมด ขณะผสานฟิลด์ที่มีชื่อเดียวกัน

ภาพประกอบ Merge จาก n8n

รวมโดย input และ output โหมดชุดค่าผสมที่เป็นไปได้ทั้งหมด

ตัวเลือกโหมดรวม (Combine mode options)

เมื่อรวมข้อมูลเข้าด้วยกันแล้ว โหมด > รวม (Mode > Combine) คุณสามารถตั้งค่าเหล่านี้ได้ Options:

  • 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

หากหลายรายการในดัชนีมีฟิลด์ที่มีชื่อเหมือนกัน นี่คือการขัดแย้งกัน ตัวอย่างเช่น หากรายการทั้งหมดใน input 1 และ input 2 มีฟิลด์ชื่อ language ทุ่งเหล่านี้ปะทะกัน ตามค่าเริ่มต้น n8n จะจัดลำดับความสำคัญของ input 2 ซึ่งหมายความว่าหาก language มีค่าใน input 2 โดย n8n จะใช้ค่านั้นเมื่อรวมรายการต่างๆ

คุณสามารถเปลี่ยนลักษณะการทำงานนี้ได้โดยเลือก Options > Clash Handling:

  • When Field Values Clash : เลือก input ที่จะจัดลำดับความสำคัญหรือเลือก Always Add Input Number to Field Names เพื่อเก็บฟิลด์และค่าทั้งหมด โดยมีหมายเลข input ต่อท้ายชื่อฟิลด์เพื่อแสดงว่า input นั้นมาจาก input ใด
  • Merging Nested Fields
    • Deep Merge : รวมคุณสมบัติในทุกระดับของรายการ รวมถึงวัตถุที่ซ้อนกัน สิ่งนี้มีประโยชน์เมื่อต้องจัดการกับโครงสร้างข้อมูลที่ซับซ้อนและซ้อนกัน ซึ่งคุณต้องแน่ใจว่ามีการรวมคุณสมบัติที่ซ้อนกันทุกระดับเข้าด้วยกัน
    • Shallow Merge : ผสานคุณสมบัติที่ระดับบนสุดของรายการเท่านั้น โดยไม่ต้องรวมวัตถุที่ซ้อนกัน สิ่งนี้มีประโยชน์เมื่อคุณมีโครงสร้างข้อมูลแบบเรียบหรือเมื่อคุณต้องการเพียงผสานคุณสมบัติระดับบนสุดโดยไม่ต้องกังวลเกี่ยวกับคุณสมบัติที่ซ้อนกัน

SQL Query

เขียน SQL Query แบบกำหนดเองเพื่อรวมข้อมูล

ตัวอย่าง:

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

ข้อมูลจาก node ก่อนหน้าจะพร้อมใช้งานเป็นตาราง และคุณสามารถใช้ในคิวรี SQL เป็น input 1, input 2, input 3 และอื่นๆ ตามลำดับ อ้างถึง หน้า AlaSQL GitHub สำหรับรายการคำสั่ง SQL ที่รองรับทั้งหมด

ใช้ parameter แบบสอบถาม (Use query parameters)

เมื่อสร้างแบบสอบถาม SQL ใน node Merge คุณสามารถใช้ไฟล์ Query Parameters สนามใน Options ส่วนเพื่อโหลดค่าลงในแบบสอบถาม n8n ถือว่าค่า parameter การสืบค้นเป็นข้อมูล ซึ่งช่วยหลีกเลี่ยงการเปลี่ยนโครงสร้างการสืบค้น SQL ด้วยค่าไดนามิก

ตัวอย่างเช่น คุณต้องการค้นหาบุคคลตามชื่อของพวกเขา โดยระบุข้อมูลต่อไปนี้ใน input1:

[
    {
        "name": "Alex",
        "age": 21
    },
    {
        "name": "Jamie",
        "age": 33
    }
]

คุณสามารถเขียนแบบสอบถามด้วย ? ตัวยึด:

SELECT * FROM input1 WHERE name = ? AND age > ?;

แล้วเข้า. Query Parameters ให้ระบุค่าที่จะใช้ คุณสามารถระบุค่าที่คั่นด้วยเครื่องหมายจุลภาคหรือ expression ที่ส่งคืน array ได้ สำหรับตัวอย่างนี้ ให้ใช้ array:

{{ [ "Alex", 20 ] }}

Choose Branch

เลือก input ที่จะเก็บไว้ ตัวเลือกนี้จะรอเสมอจนกว่าข้อมูลจาก input ทั้งสองจะพร้อมใช้งาน คุณสามารถเลือกได้ Output:

  • ที่ Input 1 Data
  • ที่ Input 2 Data
  • A Single, Empty Item

node ส่งออกข้อมูลจาก input ที่เลือกโดยไม่มีการเปลี่ยนแปลง

เทมเพลตและตัวอย่าง

เรียกดูเทมเพลตการรวมแบบผสาน หรือ ค้นหาเทมเพลตทั้งหมด

การรวมสตรีมข้อมูลที่มีจำนวนรายการไม่เท่ากัน

รายการที่ส่งผ่านไปยัง input 1 ของ node Merge จะมีความสำคัญกว่า ตัวอย่างเช่น หาก node Merge ได้รับห้ารายการใน input 1 และ 10 รายการใน input 2 node จะประมวลผลเพียงห้ารายการเท่านั้น ห้ารายการที่เหลือจาก input 2 จะไม่ถูกประมวลผล

การดำเนินการสาขาด้วย node If และ Merge

0.236.0 และต่ำกว่า (0.236.0 and below)

n8n ลบพฤติกรรมการดำเนินการนี้ใน n8n 1.0 ส่วนนี้ใช้กับขั้นตอนการทำงานโดยใช้ v0 (แบบเดิม) (v0 (legacy)) ลำดับการดำเนินการ workflow ตามค่าเริ่มต้น นี่คือ workflow ทั้งหมดที่สร้างขึ้นก่อน n8n 1.0 คุณสามารถเปลี่ยนลำดับการดำเนินการของคุณได้ การตั้งค่า workflow .

ถ้าคุณเพิ่ม node Merge ลงใน workflow ที่มี node If อาจส่งผลให้สตรีมข้อมูลเอาท์พุตทั้งสองของ node If ดำเนินการได้

สตรีมข้อมูลหนึ่ง trigger node Merge ซึ่งจะไปและดำเนินการสตรีมข้อมูลอื่น

ตัวอย่างเช่น ในภาพหน้าจอด้านล่างมี workflow ที่มี node แก้ไขฟิลด์ node If และ node Merge มาตรฐานหากพฤติกรรมของ node คือการดำเนินการสตรีมข้อมูลเดียว (ในภาพหน้าจอ นี่คือ จริง (true) เอาท์พุท) อย่างไรก็ตาม เนื่องจาก node Merge สตรีมข้อมูลทั้งสองจึงดำเนินการ แม้ว่า node If จะไม่ส่งข้อมูลใดๆ ลงไปก็ตาม เท็จ (false) สตรีมข้อมูล

workflow ที่มี node แก้ไขฟิลด์ node If และ node Merge ที่เชื่อมต่อกันตามลำดับ

ลองทำดู: ตัวอย่างทีละขั้นตอน

สร้าง workflow ด้วยตัวอย่างข้อมูล input เพื่อลองใช้ node Merge

ตั้งค่าข้อมูลตัวอย่างโดยใช้ node โค้ด (Set up sample data using the Code nodes)

  1. เพิ่ม node โค้ดลงในพื้นที่ทำงานและเชื่อมต่อกับ node เริ่มต้น
  2. วางข้อมูลโค้ด JavaScript ต่อไปนี้ลงใน JavaScript Code สนาม:
return [
  {
    json: {
      name: 'Stefan',
      language: 'de',
    }
  },
  {
    json: {
      name: 'Jim',
      language: 'en',
    }
  },
  {
    json: {
      name: 'Hans',
      language: 'de',
    }
  }
];
  1. เพิ่ม node รหัสที่สอง และเชื่อมต่อกับ node เริ่มต้น
  2. วางข้อมูลโค้ด JavaScript ต่อไปนี้ลงใน JavaScript Code สนาม:
return [
	  {
    json: {
      greeting: 'Hello',
      language: 'en',
    }
  },
  {
    json: {
      greeting: 'Hallo',
      language: 'de',
    }
  }
];

ลองใช้โหมดผสานที่แตกต่างกัน (Try out different merge modes)

เพิ่ม node ผสาน เชื่อมต่อ node รหัสแรกกับ Input 1 และ node รหัสที่สองถึง Input 2 . เรียกใช้ workflow เพื่อโหลดข้อมูลลงใน node ผสาน

ขั้นตอนการทำงานขั้นสุดท้ายควรมีลักษณะดังนี้:

Merge

ตอนนี้ลองใช้ตัวเลือกอื่นใน Mode เพื่อดูว่ามันส่งผลต่อข้อมูลเอาท์พุตอย่างไร

Append

เลือก Mode > Append จากนั้นเลือก Execute step.

ผลลัพธ์ของคุณในมุมมองตารางควรมีลักษณะดังนี้:

ชื่อ (name) ภาษา (language) คำทักทาย (greeting)
สเตฟาน เดอ
จิม ห้องน้ำในตัว
ฮันส์ เดอ
ห้องน้ำในตัว สวัสดี
เดอ สวัสดี

รวมโดยการจับคู่ฟิลด์ (Combine by Matching Fields)

คุณสามารถรวม input ข้อมูลทั้งสองนี้เข้าด้วยกันเพื่อให้แต่ละคนได้รับคำทักทายที่ถูกต้องสำหรับภาษาของตน

  1. เลือก Mode > Combine.
  2. เลือก รวมกันโดย (Combine by) > Matching Fields.
  3. ในทั้งสองอย่าง Input 1 Field และ Input 2 Field , เข้า language . สิ่งนี้จะบอก n8n ให้รวมข้อมูลโดยจับคู่ค่าใน language เขตข้อมูลในแต่ละชุดข้อมูล
  4. เลือก Execute step.

ผลลัพธ์ของคุณในมุมมองตารางควรมีลักษณะดังนี้:

ชื่อ (name) ภาษา (language) คำทักทาย (greeting)
สเตฟาน เดอ สวัสดี
จิม ห้องน้ำในตัว สวัสดี
ฮันส์ เดอ สวัสดี

รวมตามตำแหน่ง (Combine by Position)

เลือก Mode > Combine, รวมกันโดย (Combine by) > Position จากนั้นเลือก Execute step.

ผลลัพธ์ของคุณในมุมมองตารางควรมีลักษณะดังนี้:

ชื่อ (name) ภาษา (language) คำทักทาย (greeting)
สเตฟาน ห้องน้ำในตัว สวัสดี
จิม เดอ สวัสดี

เก็บรายการที่ไม่ได้จับคู่ไว้ (Keep unpaired items)

หากคุณต้องการเก็บรายการทั้งหมด ให้เลือก Add Option > Include Any Unpaired Items แล้วเปิดเครื่อง Include Any Unpaired Items.

ผลลัพธ์ของคุณในมุมมองตารางควรมีลักษณะดังนี้:

ชื่อ (name) ภาษา (language) คำทักทาย (greeting)
สเตฟาน ห้องน้ำในตัว สวัสดี
จิม เดอ สวัสดี
ฮันส์ เดอ

รวมด้วยชุดค่าผสมที่เป็นไปได้ทั้งหมด (Combine by All Possible Combinations)

เลือก Mode > Combine, รวมกันโดย (Combine by) > All Possible Combinations จากนั้นเลือก Execute step.

ผลลัพธ์ของคุณในมุมมองตารางควรมีลักษณะดังนี้:

ชื่อ (name) ภาษา (language) คำทักทาย (greeting)
สเตฟาน ห้องน้ำในตัว สวัสดี
สเตฟาน เดอ สวัสดี
จิม ห้องน้ำในตัว สวัสดี
จิม เดอ สวัสดี
ฮันส์ ห้องน้ำในตัว สวัสดี
ฮันส์ เดอ สวัสดี
เอกสารและภาพต้นฉบับ © n8n GmbH · คำแปล คู่มือประกอบ และภาพแนวคิดเพิ่มเติมโดย Room64 · เว็บไซต์นี้ไม่ใช่เอกสารทางการของ n8n · Apache 2.0 พร้อม Commons Clause

มีงานที่อยากให้ Software, AI หรือ Automation ช่วยอยู่ไหม?

เล่า workflow หรือปัญหาที่ทีมกำลังเจอ เราช่วยดูได้ว่าควรใช้ระบบสำเร็จรูป เชื่อมเครื่องมือเดิม หรือพัฒนาเพิ่มเฉพาะส่วนไหน

คุยกับเราทาง LINEhello@room64.net