2016-08-17 5 views
1

SQLで書いたクエリがあり、これが適切なLINQステートメントに移動しようとしていて、それを正しく取得できないようです。linqグループ化条件

SQLクエリ:私は唯一のレコードを引っ張るためにグループ内のどこに指示する方法を見つけ出すように見えるカント

select sku 
from Table 
group by sku 
having count(sku) > 1 and count(distinct(unit)) > 1 

と私はLINQ

var dupCount = (from val in dt.AsEnumerable() 
        group val by new {sku = val[4]} into grp 
        where grp.Count() > 1 && grp.unit.Distinct().Count() > 1 
        select grp).ToList(); 

で、これまで持っています明確な「単位予約」

答えて

1

私は、グループ内のどこに明確な「単位予約」でレコードを引き出すのかを理解することができないようです。

Select "unitreverse" フィールド、Distinctを適用し、Countそれ:

where grp.Count() > 1 && 
     grp.Select(dr => dr["unitreserve"]).Distinct().Count() > 1