Сравнение таблиц по столбцам - MySQL
Формулировка задачи:
Есть две таблицы вида как на фото. Требуется во второй таблице найти значение совпадающие с первой по ord_id и marka столбцы обоих таблиц скомпоновать в одну. Помогите, пожалуйста, как это сделать?
Решение задачи: «Сравнение таблиц по столбцам»
textual
Листинг программы
- //Создаю 2 таблицы с 4-мя колонками
- DataSet ds = new DataSet("DB");
- DataTable dt1 = new DataTable("DT1");
- DataTable dt2 = new DataTable();
- DataColumn dc1 = new DataColumn("Id", typeof(System.Int32));
- DataColumn dc2 = new DataColumn("Col1", typeof(System.String));
- DataColumn dc3 = new DataColumn("Col2", typeof(System.String));
- DataColumn dc4 = new DataColumn("Col3", typeof(System.String));
- dt1.Columns.AddRange(new[] { dc1, dc2, dc3, dc4 });
- dt2 = dt1.Clone();
- dt2.TableName = "DT2";
- ds.Tables.AddRange(new[] { dt1, dt2 });
- dt1.Rows.Add(1, "aa", "bb", "cc");
- dt1.Rows.Add(2, "bb", "cc", "dd");
- dt1.Rows.Add(3, "cc", "dd", "ee");
- dt1.Rows.Add(4, "dd", "ee", "ff");
- dt2.Rows.Add(1, "aa", "bb", "cc");
- dt2.Rows.Add(2, "bb", "cc", "dd");
- dt2.Rows.Add(4, "dd", "ee", "ff");
- dt2.Rows.Add(5, "aa", "bb", "cc");
- //Делаю LINQ запрос на объединение
- var result = dt1.AsEnumerable().Join(dt2.AsEnumerable(),
- (x) => x[0].ToString() + x[1].ToString(),
- (x) => x[0].ToString() + x[1].ToString(),
- (x, y) => new { Col1 = x[0], Col2 = x[1], Col3 = x[2], Col4 = x[3], Col5 = y[2], Col6 = y[3] });
- //Вывожу результат
- foreach (var item in result)
- {
- Console.WriteLine($"{item.Col1}\t{item.Col2}\t{item.Col3}\t{item.Col4}\t{item.Col5}\t{item.Col6}");
- }
Объяснение кода листинга программы
- Создаются две таблицы (
dt1
иdt2
) с четырьмя столбцами каждая. - Заполняются данными.
- Делается LINQ запрос на объединение таблиц по двум столбцам.
- Результат выводится на консоль.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д