【问题标题】:How to merge 2 datatables into one with same number of rows as 1st datatable如何将 2 个数据表合并为一个与第一个数据表具有相同行数的数据表
【发布时间】:2013-05-07 18:42:23
【问题描述】:

是否可以将 2 个数据表合并或合并为 1 个,其行数与第一个数据表相同。

这是使用 c# 和 asp.net

  Dataset ds = new Dataset(); //Ds has 2 tables with same number of rows.
  DataTable dtAll = new DataTable();
  dtAll = ds.Tables[0].Copy();
  dtAll.Merge(ds.Tables[1], true);

例如:Sl.no Date Amount in first datable

数据表 2 中收集的金额 最终的数据表应该是 sl.no Date AmountSold AmountCollected with union。

已售出和收集的金额是同一天的。我希望我很清楚。

当我使用上面的 Merge() 时,它会合并成双行。我错过了什么?!

谢谢!!

【问题讨论】:

  • 当您“合并”两个数据表时,您期望的结果是什么?样本数据和预期输出会有所帮助
  • 你要找的词是join我相信不是合并。
  • 数据从哪里来?你能再分享一些代码吗?
  • 假设您的表 Foo 包含 A 和 B 列,Bar 包含 C 和 D 列,您是说您想要一个包含 A、B、C 和 D 列且第 1 行的新表从每个表 Foo 和 Bar 作为新表中的第 1 行?
  • 你让它变得简单。谢谢DMose!你是对的!!!

标签: c# asp.net


【解决方案1】:

似乎您想要做的是将两个表合并为一个并带来结果,为此您需要某种外键,一个允许引用两个表的唯一列(在您的情况下,我假设'SI.没有'

在创建 Dataset() 时尝试此 SQL 语句

SELECT a.*, b.AmountCollected from [table1] a 
INNER JOIN [table2] b INTO a.Sino=b.sino  'or whatever column name has the same value as [table1]

除非 IM 没有正确理解您要查找的内容,否则这应该会为您提供所需的结果

【讨论】:

  • 看来他想在代码(c#)中而不是在SQL级别进行操作。
  • 这在 SQL 中相当简单。我早该知道的!这种方法将解决我未来的很多时间。非常感谢!
猜你喜欢
  • 2012-04-13
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-06
  • 2012-04-12
相关资源
最近更新 更多