Table.Join
Syntax
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 keyEqualityComparers as nullable list)
Hakkında
key1 (table1 için) ve key2 (table2 için) tarafından seçilen anahtar sütunlarına ilişkin değerlerin eşitliğini göz önünde bulundurarak table1 öğesinin satırlarını table2 öğesinin satırlarıyla birleştirir.
Varsayılan olarak iç birleşim gerçekleştirilir ancak birleşim türünü belirtmek üzere isteğe bağlı bir joinKind eklenebilir. Seçenekler arasında şunlar bulunur:
JoinKind.InnerJoinKind.LeftOuterJoinKind.RightOuterJoinKind.FullOuterJoinKind.LeftAntiJoinKind.RightAnti
Anahtar sütunlarının nasıl karşılaştırılacağını belirtmek üzere isteğe bağlı bir keyEqualityComparers kümesi eklenebilir. Bu özellik şimdilik yalnızca iç kullanım içindir.
Örnek 1
[CustomerID] üzerindeki iki tabloya yönelik iç birleşim işlemi gerçekleştirir
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 | Name | Telefon | OrderID | Öğe | Fiyat |
|---|---|---|---|---|---|
| 1 | Bob | 123-4567 | 1 | Olta takımı | 100 |
| 1 | Bob | 123-4567 | 2 | 1 kg solucan | 5 |
| 2 | Jim | 987-6543 | 3 | Balık ağı | 25 |
| 3 | Paul | 543-7890 | 4 | Zıpkın | 200 |
| 3 | Paul | 543-7890 | 5 | Yara bandı | 2 |
| 1 | Bob | 123-4567 | 6 | Takım çantası | 20 |