2012-11-29 94 views
-1

可能重复避免重复值:
Comparing two datatable and getting the duplicate values通过比较两个数据表

我有两个数据表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是否有不止一个相同的sparte_id具有不同的sparte值。如果我得到这样的东西,我不能在这个SPARTE_ID上更新t1的SPARTE字段,并且不得不列出这些sparte_id和sparte的列表。

我会很高兴,如果任何人都可以告诉我如何得到这种情况下的值?我在.NetFramework 3.5上使用VS-2010。

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

**如果你什么都不懂,请问我。

+0

请编辑您的问题早。不要重新发布相同的问题。 –

+0

我可以删除我的任何问题吗? –

回答

0

这里找到你ambigous 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);