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.Inner
  • JoinKind.LeftOuter
  • JoinKind.RightOuter
  • JoinKind.FullOuter
  • JoinKind.LeftAnti
  • JoinKind.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