Сравнение таблиц по столбцам - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть две таблицы вида как на фото. Требуется во второй таблице найти значение совпадающие с первой по ord_id и marka столбцы обоих таблиц скомпоновать в одну. Помогите, пожалуйста, как это сделать?

Решение задачи: «Сравнение таблиц по столбцам»

textual
Листинг программы
  1. //Создаю 2 таблицы с 4-мя колонками
  2.             DataSet ds = new DataSet("DB");
  3.             DataTable dt1 = new DataTable("DT1");
  4.             DataTable dt2 = new DataTable();
  5.  
  6.             DataColumn dc1 = new DataColumn("Id", typeof(System.Int32));
  7.             DataColumn dc2 = new DataColumn("Col1", typeof(System.String));
  8.             DataColumn dc3 = new DataColumn("Col2", typeof(System.String));
  9.             DataColumn dc4 = new DataColumn("Col3", typeof(System.String));
  10.  
  11.             dt1.Columns.AddRange(new[] { dc1, dc2, dc3, dc4 });
  12.             dt2 = dt1.Clone();
  13.             dt2.TableName = "DT2";
  14.             ds.Tables.AddRange(new[] { dt1, dt2 });
  15.  
  16.             dt1.Rows.Add(1, "aa", "bb", "cc");
  17.             dt1.Rows.Add(2, "bb", "cc", "dd");
  18.             dt1.Rows.Add(3, "cc", "dd", "ee");
  19.             dt1.Rows.Add(4, "dd", "ee", "ff");
  20.  
  21.             dt2.Rows.Add(1, "aa", "bb", "cc");
  22.             dt2.Rows.Add(2, "bb", "cc", "dd");
  23.             dt2.Rows.Add(4, "dd", "ee", "ff");
  24.             dt2.Rows.Add(5, "aa", "bb", "cc");
  25.  
  26.             //Делаю LINQ запрос на объединение
  27.             var result = dt1.AsEnumerable().Join(dt2.AsEnumerable(),
  28.                 (x) => x[0].ToString() + x[1].ToString(),
  29.                 (x) => x[0].ToString() + x[1].ToString(),
  30.                 (x, y) => new { Col1 = x[0], Col2 = x[1], Col3 = x[2], Col4 = x[3], Col5 = y[2], Col6 = y[3] });
  31.  
  32.             //Вывожу результат
  33.             foreach (var item in result)
  34.             {
  35.                 Console.WriteLine($"{item.Col1}\t{item.Col2}\t{item.Col3}\t{item.Col4}\t{item.Col5}\t{item.Col6}");
  36.             }

Объяснение кода листинга программы

  1. Создаются две таблицы (dt1 и dt2) с четырьмя столбцами каждая.
  2. Заполняются данными.
  3. Делается LINQ запрос на объединение таблиц по двум столбцам.
  4. Результат выводится на консоль.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы