Table.JoinTable.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

СведенияAbout

Объединяет строки таблицы table1 со строками table2 на основе равенства значений ключевых столбцов, выбранных в key1 (для table1) и key2 (для table2).Joins the rows of table1 with the rows of table2 based on the equality of the values of the key columns selected by key1 (for table1) and key2 (for table2).

По умолчанию выполняется внутреннее соединение, однако для указания типа соединения может быть включен необязательный joinKind.By default, an inner join is performed, however an optional joinKind may be included to specify the type of join. Доступные параметры: Options include:

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

Для указания способа сравнения ключевых столбцов можно включить необязательный набор keyEqualityComparers.An optional set of keyEqualityComparers may be included to specify how to compare the key columns.

Пример 1Example 1

Внутреннее соединение двух таблиц по полю [CustomerID]Inner join the two tables on [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"
)
CustomerIDCustomerID ИмяName Номер телефонаPhone OrderIDOrderID ЭлементItem PricePrice
11 ВладимирBob 123-4567123-4567 11 УдочкаFishing rod 100100
11 ВладимирBob 123-4567123-4567 22 Черви, 1 фунт1 lb. worms 55
22 АртемJim 987-6543987-6543 33 Рыболовная сетьFishing net 2525
33 ВиталийPaul 543-7890543-7890 44 ЭлектроудочкаFish tazer 200200
33 ВиталийPaul 543-7890543-7890 55 ЛейкопластыриBandaids 22
11 ВладимирBob 123-4567123-4567 66 Коробка для снастейTackle box 2020