Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menggabungkan dua koleksi ke dalam satu koleksi hierarkis. Operasi gabungan didasarkan pada kunci yang cocok.
Sintaksis
Group Join element [As type] In collection _
On key1 Equals key2 [ And key3 Equals key4 [... ] ] _
Into expressionList
Bagian
| Istilah | Definisi |
|---|---|
element |
Dibutuhkan. Variabel kontrol untuk koleksi yang sedang digabungkan. |
type |
Fakultatif. Jenis element. Jika tidak type ditentukan, jenis element disimpulkan dari collection. |
collection |
Dibutuhkan. Koleksi untuk digabungkan dengan koleksi yang ada di sisi Group Join kiri operator. Klausa Group Join dapat disarangkan dalam Join klausul atau dalam klausa lain Group Join . |
key1
Equals
key2
|
Dibutuhkan. Mengidentifikasi kunci untuk koleksi yang sedang digabungkan. Anda harus menggunakan Equals operator untuk membandingkan kunci dari koleksi yang digabungkan. Anda dapat menggabungkan kondisi gabungan dengan menggunakan And operator untuk mengidentifikasi beberapa kunci. Parameter key1 harus dari koleksi di sisi Join kiri operator. Parameter key2 harus dari koleksi di sisi Join kanan operator.Kunci yang digunakan dalam kondisi gabungan dapat berupa ekspresi yang menyertakan lebih dari satu item dari koleksi. Namun, setiap ekspresi kunci hanya dapat berisi item dari koleksinya masing-masing. |
expressionList |
Dibutuhkan. Satu atau beberapa ekspresi yang mengidentifikasi bagaimana grup elemen dari koleksi dikumpulkan. Untuk mengidentifikasi nama anggota untuk hasil yang dikelompokkan, gunakan Group kata kunci (<alias> = Group). Anda juga dapat menyertakan fungsi agregat untuk diterapkan ke grup. |
Komentar
Klausa menggabungkan Group Join dua koleksi berdasarkan nilai kunci yang cocok dari koleksi yang digabungkan. Koleksi yang dihasilkan dapat berisi anggota yang mereferensikan kumpulan elemen dari koleksi kedua yang cocok dengan nilai kunci dari koleksi pertama. Anda juga dapat menentukan fungsi agregat untuk diterapkan ke elemen yang dikelompokkan dari koleksi kedua. Untuk informasi tentang fungsi agregat, lihat Klausul Agregat.
Pertimbangkan, misalnya, kumpulan manajer dan kumpulan karyawan. Elemen dari kedua koleksi memiliki properti ManagerID yang mengidentifikasi karyawan yang melapor ke manajer tertentu. Hasil dari operasi gabungan akan berisi hasil untuk setiap manajer dan karyawan dengan nilai ManagerID yang cocok. Hasil dari Group Join operasi akan berisi daftar lengkap manajer. Setiap hasil manajer akan memiliki anggota yang mereferensikan daftar karyawan yang cocok untuk manajer tertentu.
Koleksi yang Group Join dihasilkan dari operasi dapat berisi kombinasi nilai apa pun dari koleksi yang diidentifikasi dalam From klausa dan ekspresi yang diidentifikasi dalam Into klausa Group Join klausa. Untuk informasi selengkapnya tentang ekspresi yang valid untuk Into klausa, lihat Klausa Agregat.
Operasi Group Join akan mengembalikan semua hasil dari koleksi yang diidentifikasi di sisi Group Join kiri operator. Ini berlaku bahkan jika tidak ada kecocokan dalam koleksi yang digabungkan. Ini seperti LEFT OUTER JOIN di SQL.
Anda dapat menggunakan Join klausul untuk menggabungkan koleksi ke dalam satu koleksi. Ini setara dengan INNER JOIN di SQL.
Contoh
Contoh kode berikut menggabungkan dua koleksi dengan menggunakan Group Join klausul .
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
Lihat juga
- Pengenalan LINQ di Visual Basic
- Pertanyaan
- Pilih Klausa
- Klausa From
- Klausul Gabungan
- Klausa Where
- Klausul Kelompokkan Menurut