繁体   English   中英

通过比较两个数据表来避免重复值[重复]

[英]Avoid duplicate values by comparing two datatable [duplicate]

可能的重复:
比较两个数据表并获取重复值

我有两个数据表 t1 和 t2。

t1 has 2 fields (SPARTE_ID, SPARTE both as string)

t2 has 2 fields (sparte_id, sparte both as string)

all rows (value) of SPARTE(of t1) is null

I have to bring values from t2 (if sparte_id == SPARTE_ID) and update t1.

我可以轻松完成所有这些。

但问题是,我必须找出 t2 是否有超过 1 个具有不同 sparte 值的相同 sparte_id。 如果我得到这样的东西,我不能在这个 SPARTE_ID 上更新 t1 的 SPARTE 字段,并且必须列出这些 sparte_id 和那里的 sparte。

如果有人能告诉我如何在这种情况下获得值,我会很高兴? 我在 .NetFramework 3.5 上使用 VS-2010。

**它们都不是主键或唯一键。

**如果你有什么不明白的请问我。

这是一种查找模糊 ID-Sparte 组合的方法:

var t2IdDups = t2.AsEnumerable()
    .GroupBy(r => r.Field<string>("SPARTE_ID"))
    .Where(g => g.Count() > 1);
var t2Ambiguous = t2IdDups
    .Where(g =>
        g.Any(r =>
            r.Field<string>("SPARTE") != g.First().Field<string>("SPARTE")))
    .Select(g => new
    {
        SparteID = g.Key,
        Spartes = string.Join(",", g.Select(r => r.Field<string>("SPARTE")))
    });
foreach (var x in t2Ambiguous)
    Console.WriteLine("ambiguous ID={0} Spartes={1}"
        , x.SparteID, x.Spartes);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM