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) as table
Over
Voegt de rijen van table1 samen met de rijen van table2 op basis van de gelijkheid van de waarden van de sleutelkolommen die zijn geselecteerd door key1 (voor table1) en key2 (voor table2).
Standaard wordt er een inner join uitgevoerd, maar er kan wel een optioneel joinKind worden opgenomen om het type join op te geven. Mogelijke opties zijn:
JoinKind.InnerJoinKind.LeftOuterJoinKind.RightOuterJoinKind.FullOuterJoinKind.LeftAntiJoinKind.RightAnti
Er kan een optionele set keyEqualityComparers worden opgenomen om aan te geven hoe de sleutelkolommen moeten worden vergeleken. Deze functie is momenteel alleen bedoeld voor intern gebruik.
Voorbeeld 1
Inner join uitvoeren van de twee tabellen op [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 | Naam | Telefoon | OrderID | Item | Prijs |
|---|---|---|---|---|---|
| 1 | Bob | 123-4567 | 1 | Hengel | 100 |
| 1 | Bob | 123-4567 | 2 | 500 gr. wormen | 5 |
| 2 | Jim | 987-6543 | 3 | Visnet | 25 |
| 3 | Paul | 543-7890 | 4 | Tazer voor vissen | 200 |
| 3 | Paul | 543-7890 | 5 | Pleisters | 2 |
| 1 | Bob | 123-4567 | 6 | Viskoffer | 20 |