C# 如何组合和检索数据集中两个表中的多个列
我有一个数据集,其中两个表通过引用(Loop_id)连接 如何从两个表到单个表检索所有列(循环id除外)。 生成的表应该如下所示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
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