Klauzule Join skupiny (Visual Basic)
Kombinuje dvě kolekce do jediného hierarchickou kolekci.Operace join je založena na odpovídající klíče.
Group Join element [As type] In collection _
On key1 Equals key2 [ And key3 Equals key4 [... ] ] _
Into expressionList
Části
Termín |
Definice |
element |
Povinné.Řídicí proměnná kolekce je připojen. |
type |
Nepovinné.Typ element.Pokud ne type je zadán typ element je odvodit ze collection. |
collection |
Povinné.Kolekce sloučit s kolekcí, která je na levé straně Group Join operátor.A Group Join mohou být vnořené klauzuli v Join klauzule nebo v jiném Group Join klauzule. |
key1Equalskey2 |
Povinné.Identifikuje klíče pro kolekce je připojen.Je nutné použít Equals operátor porovnání klíčů z kolekce je připojen.Můžete kombinovat podmínky spojení pomocí And operátoru identifikovat více klíčů.key1 Parametr musí být z kolekce na levé straně Join operátor.key2 z kolekce na pravé straně musí být parametr Join operátor. Klávesy používané v podmínce spojení může být výrazy, které obsahují více než jednu položku z kolekce.Každý výraz klíče však může obsahovat pouze položky z jeho příslušných kolekce. |
expressionList |
Povinné.Jeden nebo více výrazů, které určit, jak jsou agregovány skupiny prvků z kolekce.Chcete-li určit název členu seskupených výsledků, použijte Group klíčové slovo (<alias> = Group).Můžete také zahrnout agregační funkce pro skupiny. |
Poznámky
Group Join Klauzule kombinuje dvě kolekce založené na odpovídající hodnoty klíče z kolekce je připojen.Výsledné kolekce může obsahovat člena, který odkazuje druhá kolekce odpovídající hodnotu klíče z kolekce první sada prvků.Můžete také určit agregačních funkcí pro seskupené prvky ze druhá kolekce.Informace o agregačních funkcích naleznete v tématu Agregační klauzule (Visual Basic).
Zvažte například kolekce správci a shromažďování zaměstnanců.Prvky z obou kolekcí mají vlastnost ManagerID, který identifikuje zaměstnance, které zejména správce zprávu.Výsledky z operace spojení by obsahovat výsledek pro každou vedoucího a zaměstnance s odpovídající hodnotou ManagerID.Výsledky z Group Join operace bude obsahovat úplný seznam správců.Každý správce výsledek by měl člen, který odkazuje na seznam zaměstnanců, které byly odpovídající zvláštní správce.
Kolekce vyplývající z Group Join operace mohou obsahovat libovolnou kombinaci hodnot z kolekce v From klauzule a výrazů v Into klauzule Group Join klauzule.Další informace o platných výrazů Into klauzule, viz Agregační klauzule (Visual Basic).
A Group Join operace vrátí všechny výsledky z kolekce identifikovány na levé straně Group Join operátor.To platí i v případě, že neexistují žádné odpovídající položky v kolekci je připojen.To je jako LEFT OUTER JOIN v SQL.
Můžete použít Join klauzule kombinovat kolekcí do jedné kolekce.To je ekvivalentní INNER JOIN v SQL.
Příklad
Následující příklad kódu spojuje dvě kolekce pomocí Group Join klauzule.
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
Viz také
Referenční dokumentace
Vyberte klauzule (Visual Basic)
Seskupit podle klauzule (Visual Basic)
Koncepty
Úvod do jazyka Visual Basic LINQ