Table.Join

ไวยากรณ์

Table.Join(table1 as table, key1 as any, table2 as table, key2 as any, optional joinKind as nullable number, optional joinAlgorithm as nullable number, optional keySqualityComparers as nullable list) เป็นตาราง

เกี่ยวกับ

รวมแถวของ table1 กับแถวของ table2 โดยยึดตามความเท่ากันของค่าของคอลัมน์หลัก ซึ่งถูกเลือกโดย key1 (สำหรับ table1) และ key2 (สำหรับ table2)

ตามค่าเริ่มต้น เป็นการรวมภายใน อย่างไรก็ตามอาจรวม joinKind ที่เป็นทางเลือกเพื่อระบุประเภทของการรวม ตัวเลือกได้แก่:

  • JoinKind.Inner
  • JoinKind.LeftOuter
  • JoinKind.RightOuter
  • JoinKind.FullOuter
  • JoinKind.LeftAnti
  • JoinKind.RightAnti

อาจประกอบด้วยชุดที่เลือกได้ keyEqualityComparers เพื่อระบุวิธีเปรียบเทียบคอลัมน์คีย์ ในปัจจุบัน คุณลักษณะนี้มีไว้สำหรับการใช้งานภายในเท่านั้น

ตัวอย่าง 1

รวมสองตารางภายในบน [CustomerID]

Table.Join(
    Table.FromRecords({
        [CustomerID = 1, Name = "Bob", Phone = "123-4567"],
        [CustomerID = 2, Name = "Jim", Phone = "987-6543"],
        [CustomerID = 3, Name = "Paul", Phone = "543-7890"],
        [CustomerID = 4, Name = "Ringo", Phone = "232-1550"]
    }),
    "CustomerID",
    Table.FromRecords({
        [OrderID = 1, CustomerID = 1, Item = "Fishing rod", Price = 100.0],
        [OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
        [OrderID = 3, CustomerID = 2, Item = "Fishing net", Price = 25.0],
        [OrderID = 4, CustomerID = 3, Item = "Fish tazer", Price = 200.0],
        [OrderID = 5, CustomerID = 3, Item = "Bandaids", Price = 2.0],
        [OrderID = 6, CustomerID = 1, Item = "Tackle box", Price = 20.0],
        [OrderID = 7, CustomerID = 5, Item = "Bait", Price = 3.25]
    }),
    "CustomerID"
)
CustomerID ชื่อ โทรศัพท์ OrderID รายการ ราคา
1 Bob 123-4567 1 เบ็ดตกปลา 100
1 Bob 123-4567 2 1 lb. worms 5
2 Jim 987-6543 3 ตาข่ายจับปลา 25
3 Paul 543-7890 4 เหยื่อตกปลา 200
3 Paul 543-7890 5 ผ้าพันแผล 2
1 Bob 123-4567 6 กล่องเก็บโมดูล 20