2011-09-12 109 views
0

我有一個關於如何在LINQ查詢中做到這一點的快速問題。我在執行時遇到了問題,主要是因爲我仍然在學習LINQ,所以我希望你們能指引我朝着正確的方向發展。LINQ查詢獲得正確的數據

基本上我有一個表像下面

Number Character Key 
1  a   value & 2 
1  a   value & 2 
1  b   value & 1 
2  a   value & 3 
3  b   value & 4 
3  a   value & 5 
4  a   value & 7 
4  a   value & 7 
4  b   value & 8 
4  b   value & 9 

我想寫一個LINQ查詢,通過數列第一組,那麼結果中,再由字符列組,然後檢查內如果鍵列中的值與二者匹配,則會導致該結果。

我希望我的語言不會讓人困惑。

謝謝

編輯:

我使用的是從Excel文件生成一個列表。

  List<Data> bdt = getData.dataGet(exp); 
      var result = from s in bdt 

輸出我想是

Number Character Key 
1  a   value & 2 
1  a   value & 2 
4  a   value & 7 
4  a   value & 7 

感謝您的建議,我會銘記在心的下一次

+1

只要將文本放入問題中,請不要包含圖片,以便大家更容易閱讀... –

+0

對不起,我是新手,因此我不知道如何正確格式化表。我開始使用 – Pradeep

+0

你在使用什麼表類,以及你想要輸出什麼? (一個例子會很好..) – erikH

回答

2

這應該做的伎倆:

var q = 
    from item in bdt 
    group item by new { item.Number, item.Character, item.Key } into g 
    where g.Count() > 1 
    select g.Key; 

訣竅是在多列上單個group by :-)

+0

謝謝你的幫助。欣賞答案 – Pradeep

+0

@Predeep:如果這回答你的問題,不要忘記標記爲答案:-) – Steven