Group Join-Klausel (Visual Basic)Group Join Clause (Visual Basic)

Fasst zwei Auflistungen zu einer einzelnen hierarchischen Auflistung zusammen.Combines two collections into a single hierarchical collection. Der Joinvorgang basiert auf übereinstimmenden Schlüsseln.The join operation is based on matching keys.

SyntaxSyntax

Group Join element [As type] In collection _  
  On key1 Equals key2 [ And key3 Equals key4 [... ] ] _  
  Into expressionList  

BestandteileParts

BegriffTerm DefinitionDefinition
element Erforderlich.Required. Die Steuerelement Variable für die Auflistung, die verknüpft wird.The control variable for the collection being joined.
type Dies ist optional.Optional. Der element-Typ.The type of element. Wenn kein type angegeben wird, wird der Typ von element aus abgeleitet collection .If no type is specified, the type of element is inferred from collection.
collection Erforderlich.Required. Die Auflistung, die mit der Auflistung auf der linken Seite des Operators kombiniert werden soll Group Join .The collection to combine with the collection that is on the left side of the Group Join operator. Eine- Group Join Klausel kann in einer- Join Klausel oder in einer anderen-Klausel eingefügt werden Group Join .A Group Join clause can be nested in a Join clause or in another Group Join clause.
key1 Equals key2key1 Equals key2 Erforderlich.Required. Identifiziert Schlüssel für die Auflistungen, die verknüpft werden.Identifies keys for the collections being joined. Sie müssen den- Equals Operator verwenden, um Schlüssel aus den verbundenen Sammlungen zu vergleichen.You must use the Equals operator to compare keys from the collections being joined. Joinbedingungen können mithilfe des-Operators kombiniert werden And , um mehrere Schlüssel zu identifizieren.You can combine join conditions by using the And operator to identify multiple keys. Der- key1 Parameter muss sich auf der linken Seite des Operators aus der Auflistung befinden Join .The key1 parameter must be from the collection on the left side of the Join operator. Der- key2 Parameter muss sich auf der rechten Seite des-Operators aus der Auflistung befinden Join .The key2 parameter must be from the collection on the right side of the Join operator.

Die in der Join-Bedingung verwendeten Schlüssel können Ausdrücke sein, die mehr als ein Element aus der Auflistung enthalten.The keys used in the join condition can be expressions that include more than one item from the collection. Jeder Schlüssel Ausdruck kann jedoch nur Elemente aus der jeweiligen Auflistung enthalten.However, each key expression can contain only items from its respective collection.
expressionList Erforderlich.Required. Ein oder mehrere Ausdrücke, die bestimmen, wie die Gruppen von Elementen aus der Auflistung aggregiert werden.One or more expressions that identify how the groups of elements from the collection are aggregated. Um einen Elementnamen für die gruppierten Ergebnisse zu identifizieren, verwenden Sie das- Group Schlüsselwort ( <alias> = Group ).To identify a member name for the grouped results, use the Group keyword (<alias> = Group). Sie können auch Aggregatfunktionen einschließen, die auf die Gruppe angewendet werden sollen.You can also include aggregate functions to apply to the group.

BemerkungenRemarks

Die- Group Join Klausel kombiniert zwei Auflistungen basierend auf übereinstimmenden Schlüsselwerten aus den verbundenen Sammlungen.The Group Join clause combines two collections based on matching key values from the collections being joined. Die resultierende Auflistung kann einen Member enthalten, der auf eine Auflistung von Elementen aus der zweiten Auflistung verweist, die mit dem Schlüsselwert aus der ersten Auflistung zu vergleichen sind.The resulting collection can contain a member that references a collection of elements from the second collection that match the key value from the first collection. Sie können auch Aggregatfunktionen angeben, die auf die gruppierten Elemente aus der zweiten Auflistung angewendet werden sollen.You can also specify aggregate functions to apply to the grouped elements from the second collection. Weitere Informationen zu Aggregatfunktionen finden Sie unter Aggregate-Klausel.For information about aggregate functions, see Aggregate Clause.

Stellen Sie sich z. b. eine Sammlung von Managern und eine Sammlung von Mitarbeitern vor.Consider, for example, a collection of managers and a collection of employees. Elemente aus beiden Auflistungen verfügen über eine ManagerID-Eigenschaft, die die Mitarbeiter identifiziert, die einem bestimmten Manager Berichten.Elements from both collections have a ManagerID property that identifies the employees that report to a particular manager. Die Ergebnisse einer Join-Operation enthalten ein Ergebnis für jeden Vorgesetzten und jeden Mitarbeiter mit einem entsprechenden ManagerID-Wert.The results from a join operation would contain a result for each manager and employee with a matching ManagerID value. Die Ergebnisse eines- Group Join Vorgangs enthalten die komplette Liste der Manager.The results from a Group Join operation would contain the complete list of managers. Jedes Manager-Ergebnis hätte einen Member, der auf die Liste der Mitarbeiter verwiesen hat, die für den jeweiligen Vorgesetzten eine Entsprechung aufweisen.Each manager result would have a member that referenced the list of employees that were a match for the specific manager.

Die aus einem-Vorgang resultierende Auflistung Group Join kann eine beliebige Kombination von Werten aus der in der-Klausel identifizierten Auflistung From und den Ausdrücken enthalten, die in der-Klausel der-Klausel identifiziert werden Into Group Join .The collection resulting from a Group Join operation can contain any combination of values from the collection identified in the From clause and the expressions identified in the Into clause of the Group Join clause. Weitere Informationen zu gültigen Ausdrücken für die- Into Klausel finden Sie unter Aggregate-Klausel.For more information about valid expressions for the Into clause, see Aggregate Clause.

Ein- Group Join Vorgang gibt alle Ergebnisse aus der Auflistung zurück, die auf der linken Seite des Operators identifiziert werden Group Join .A Group Join operation will return all results from the collection identified on the left side of the Group Join operator. Dies gilt auch, wenn in der Auflistung keine Übereinstimmungen vorhanden sind.This is true even if there are no matches in the collection being joined. Dies ist wie ein LEFT OUTER JOIN in SQL.This is like a LEFT OUTER JOIN in SQL.

Sie können die- Join Klausel verwenden, um Auflistungen in einer einzelnen Auflistung zu kombinieren.You can use the Join clause to combine collections into a single collection. Dies entspricht einem INNER JOIN in SQL.This is equivalent to an INNER JOIN in SQL.

BeispielExample

Im folgenden Codebeispiel werden zwei Auflistungen mithilfe der-Klausel miteinander verbunden Group Join .The following code example joins two collections by using the Group Join clause.

Dim customerList = From cust In customers
                   Group Join ord In orders On
                   cust.CustomerID Equals ord.CustomerID
                   Into CustomerOrders = Group,
                        OrderTotal = Sum(ord.Total)
                   Select cust.CompanyName, cust.CustomerID,
                          CustomerOrders, OrderTotal

For Each customer In customerList
    Console.WriteLine(customer.CompanyName &
                      " (" & customer.OrderTotal & ")")

    For Each order In customer.CustomerOrders
        Console.WriteLine(vbTab & order.OrderID & ": " & order.Total)
    Next
Next

Weitere InformationenSee also