C#, LINQ, 2個Table Join 使用2個欄位條件Join
2個Table Join 使用2個欄位條件Join
範例1:
- join的欄位名稱要相同
範例1:
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { // 假设有两个表格 List<Table1> table1Data = new List<Table1> { new Table1 { ID = 1, Name = "John" }, new Table1 { ID = 2, Name = "Alice" }, new Table1 { ID = 3, Name = "Bob" } }; List<Table2> table2Data = new List<Table2> { new Table2 { ID = 1, Age = 25 }, new Table2 { ID = 2, Age = 30 }, new Table2 { ID = 3, Age = 28 } }; // 使用 LINQ 进行两个表格的连接 var query = from t1 in table1Data join t2 in table2Data on new { t1.ID, t1.Name } equals new { t2.ID, Name = "John" } select new { t1.ID, t1.Name, t2.Age }; // 打印结果 foreach (var result in query) { Console.WriteLine($"ID: {result.ID}, Name: {result.Name}, Age: {result.Age}"); } } } // 表格1 class Table1 { public int ID { get; set; } public string Name { get; set; } } // 表格2 class Table2 { public int ID { get; set; } public int Age { get; set; } }範例2:
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { // 建立一些示例資料 List<Person> persons = new List<Person> { new Person { PersonId = 1, Name = "John", Age = 25 }, new Person { PersonId = 2, Name = "Jane", Age = 30 }, new Person { PersonId = 3, Name = "Bob", Age = 28 } }; List<Contact> contacts = new List<Contact> { new Contact { PersonId = 1, Name = "John", Email = "john@example.com" }, new Contact { PersonId = 2, Name = "Jane", Email = "jane@example.com" }, new Contact { PersonId = 3, Name = "Bob", Email = "bob@example.com" } }; // 使用 LINQ 進行兩個表格的聯結 var query = from person in persons join contact in contacts on new { person.PersonId, person.Name } equals new { contact.PersonId, Name = contact.Name } select new { person.PersonId, person.Name, person.Age, contact.Email }; // 輸出結果 foreach (var result in query) { Console.WriteLine($"{result.PersonId} - {result.Name}, Age: {result.Age}, Email: {result.Email}"); } } } // 定義 Person 類別 class Person { public int PersonId { get; set; } public string Name { get; set; } public int Age { get; set; } } // 定義 Contact 類別 class Contact { public int PersonId { get; set; } public string Name { get; set; } public string Email { get; set; } }
留言
張貼留言