Bagikan melalui


Klausul Gabungan Grup (Visual Basic)

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