2014-10-30 3 views
0

У меня есть набор данных с двумя таблицами, соединенных ссылкой (Loop_id)Как объединить и получить несколько столбцов из двух таблиц в Dataset

Table1 
Column1 Column2  Loop_id 
1  ItemCode_AAA  6 
2  ItemCode_BBB  8 

Table2 
Column1  Loop_id 
2014-Sep-09 6 
2014-Nov-09 8 

Как получить все столбцы, за исключением loop_id из обеих таблиц к отдельной таблице. Полученная таблица должна выглядеть как

T1_Column1 T1_Column2  T2_Column1 
1   ItemCode_AAA  2014-Sep-09 
2   ItemCode_BBB  2014-Nov-09 

Я использую Net Framework 4.5

+0

ли я что-то неправильно в вашем вопросе? Как мое решение работает на вас? – paqogomez

+0

@paqogomez, запрос не понимает имена colum, не компилируется. – TonyP

+0

Проверьте мои изменения. Это должно работать, хотя и непроверено. Возможно, вы могли бы создать [скрипку] (http://dotnetfiddle.net), если он все еще не работает. – paqogomez

ответ

1

Использование Linq to DataSets:

Чтобы перечислить таблицу, вызовите AsEnumerable.

DataTable table1 = ds.Tables["table1"]; 
DataTable table2 = ds.Tables["table2"]; 

var records = (from t1 in table1.AsEnumerable() 
       join t2 in table2.AsEnumerable() 
       on t1.Field<int>("Loop_id") equals t2.Field<int>("Loop_id") 
       select new {T1_Column1 = t1.Field<string>("Column1"), 
          T2_Column2 = t2.Field<string>("Column2"), 
          T2_Column1 = t2.Field<string>("Column1")}); 
0

Использование View

Или вы можете использовать присоединиться

SELECT  T1.Column1 AS T1_Col , T1.Column2 AS T1_Col , T2.Column1 AS T2_Col 

FROM   dbo.Table1 AS T1 RIGHT OUTER JOIN 
         dbo.Table2 AS T2 ON dbo.T1.Loop_id = dbo.T2.Loop_id