2012-11-29 95 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);