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.InnerJoinKind.LeftOuterJoinKind.RightOuterJoinKind.FullOuterJoinKind.LeftAntiJoinKind.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 |