- DataTable table1 --> импорт данных из файла Excel
Account, Name, Address, Phone
A05911, Test1, LA, 1234
A05912, Test2, NY, 1235
A05912, Test2, NY, 1235
A05913, Test3, BO, 1239
- DataTable table2 — импорт данных из базы данных SQL
Account, Dummy
A05911, yyyy1
A05912, xxxx2
A05913, zzzz3
Я хочу объединить эти две таблицы данных, чтобы результирующая таблица данных была следующей:
Account, Dummy, Name, Address, Phone
A05911, yyyy1, Test1, LA, 1234
A05912, xxxx2, Test2, NY, 1235
A05912, xxxx3, Test2, NY, 1235
A05913, zzzz4, Test3, BO, 1239
Я попробовал выполнить следующий запрос:
var result = ( from a in table1.AsEnumerable(),
join b in table2.AsEnumerable()
on a.Field("Account") equals b.Field("Account")
into temp from res in temp.DefaultIfEmpty()
select new
{
Account = a.Field("Account"),
Test = res == null ? null : res.Field("Dummy")
});
Но этот запрос не возвращает все столбцы из таблицы 1 и столбец «Фиктивный» из таблицы 2. Он возвращает только «Аккаунт» из таблицы 1 и его «Функцион» из таблицы 2.
Как мне этого добиться, а также как сохранить результат этого запроса в таблице данных?Мне нужен следующий результат в таблице данных:
Account, Dummy, Name, Address, Phone
A05911, yyyy1, Test1, LA, 1234
A05912, xxxx2, Test2, NY, 1235
A05912, xxxx3, Test2, NY, 1235
A05913, zzzz4, Test3, BO, 1239
Подробнее здесь: https://stackoverflow.com/questions/733 ... using-linq
Мобильная версия