非主键列上的数据表合并

时间:2018-01-15 12:09:51

标签: c# sql firebird

我使用dataTable1.merge(dataTable2)合并2个表/

第一个表是来自一个数据库的表,其列为ROBAID, NAZIV

第二个表是第二个数据库中的表,其列为ROBAID, STANJE, KOLICINA

上面的函数适用于此代码:

dt1.PrimaryKey = new DataColumn[] { dt1.Columns["ROBAID"] };
dt2.PrimaryKey = new DataColumn[] { dt2.Columns["ROBAID"] };

dt1.Merge(dt2);

没关系,因为在dt1中它确实是主键但在dt2主键是ID,但是我这样使用它是因为我不打算有2其中ROBAID相同。现在的问题是计划发生了变化,我在ROBAID中有两个相同的dt2,但我仍需要合并它们。我怎么能做到这一点?

表1的例子:

| ROBAID | NAZIV |
| 1      | R1    |
| 2      | R2    |
| 3      | R3    |
| 4      | R4    |

表2的例子:

| ID  | ROBAID | KOLICINA | STANJE |
| 1   | 2      |    2     |  2     |
| 2   | 2      |    4     |  2     |
| 3   | 3      |    1     |   1    |
| 4   | 2      |    3     |   2    |

如您所见,在表2中,ROBAID列不再具有唯一值。

0 个答案:

没有答案