我正在使用C#ConoleApplication.
我有ODBC DSN连接,我带入Datatable.第一列是"帐号#".
例:
帐号------------ |
AA1 ------------------- |
AA1 ------------------- |
AA2 ------------------- |
AA3 ------------------- |
AA1 ------------------- |
AA4 ------------------- |
AA2 ------------------- |
我想弄清楚如何给出以下结果.我认为它将被整合到一个新的数据表但我不能使任何代码工作,我尝试过.
帐号------------ | OCCURENCES
AA1 ------------------- | 3
AA2 ------------------- | 2
AA3 ------------------- | 1
AA4 ------------------- | 1
请问我该怎么做?
我需要在C#上使用公共列合并/连接数据表.
我知道很多例子以及有关同一主题的问题.我没有找到任何回答我的问题.
以下是我正在使用的代码.
该代码仅允许基于on datatable数据的一个公共列.我需要一个公共列,但需要考虑任何其他"帐户#"可以在另一个数据表中使用并将其添加到公共列中.
此外,代码仅允许合并2个数据表.我需要合并31个数据表,以便为每个月的每一天合并1个数据表.
我有一个月的每一天的数据表,dt_docDAY01,dt_docDAY02,dt_docDAY03等.
每个数据表包含一个帐号"帐号#"和一个存储在一列中的余额,参考当天"DAY01","DAY02"等.
你能告诉我如何更改代码,以便我将包括所有表中的所有帐户.
另外,我将如何合并此代码中的所有数据表,所以我不必运行相同的代码31次.
'string id ="帐号#";
var tableJoinedDAY02 = dt_docDAY01_GROUPED.Clone(); // create columns from table1
// add columns from table2 except id
foreach (DataColumn column in dt_docDAY02_GROUPED.Columns)
{
if (column.ColumnName != id)
tableJoinedDAY02.Columns.Add(column.ColumnName, column.DataType);
}
tableJoinedDAY02.BeginLoadData();
foreach (DataRow row1 in dt_docDAY01_GROUPED.Rows)
{
foreach (DataRow row2 in dt_docDAY02_GROUPED.Rows)
{
if (row1.Field<string>(id) == row2.Field<string>(id))
{
var list = row1.ItemArray.ToList(); // items from table1
// add items from table2 except id
foreach (DataColumn column in dt_docDAY02_GROUPED.Columns) …Run Code Online (Sandbox Code Playgroud)