C# 如何组合和检索数据集中两个表中的多个列

C# 如何组合和检索数据集中两个表中的多个列,c#,.net,dataset,.net-4.5,dataview,C#,.net,Dataset,.net 4.5,Dataview,我有一个数据集,其中两个表通过引用(Loop_id)连接 如何从两个表到单个表检索所有列(循环id除外)。 生成的表应该如下所示 T1_Column1 T1_Column2 T2_Column1 1 ItemCode_AAA 2014-Sep-09 2 ItemCode_BBB 2014-Nov-09 我正在使用Net Framework 4.5使用: 要枚举该表,请调用AsEnumerable DataTable t

我有一个数据集,其中两个表通过引用(Loop_id)连接

如何从两个表到单个表检索所有列(循环id除外)。 生成的表应该如下所示

T1_Column1   T1_Column2       T2_Column1
1            ItemCode_AAA     2014-Sep-09
2            ItemCode_BBB     2014-Nov-09
我正在使用Net Framework 4.5

使用:

要枚举该表,请调用
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")});
DataTable table1=ds.Tables[“table1”];
DataTable table2=ds.Tables[“table2”];
var记录=(来自表1.AsEnumerable()中的t1)
将t2加入表2中。AsEnumerable()
在t1上,字段(“循环id”)等于t2.字段(“循环id”)
选择新的{T1_Column1=T1.Field(“Column1”),
T2_Column2=T2.字段(“Column2”),
T2_Column1=T2.字段(“Column1”)};
使用

或者你可以使用join

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

我是否误解了你问题中的某些内容?我的解决方案对您有何作用?@paqogomez,查询不理解列名称,无法编译。请检查我的编辑。这应该是可行的,尽管还没有经过测试。如果它仍然不起作用,也许你可以创建一个。
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