2012-11-22 30 views
0

我正在使用全文搜索在MSSQL中搜索表格。此表包含支持事件的摘要和內容。該摘要通過具有Open的EVENT_TYPE來標識。Total DataTable coulmn where ID duplicate

我想搜索所有事件類型,因此我在包含相關文本(註釋)的字段上設置了全文搜索。現在我只想在屏幕上顯示彙總行(DataGridView),因爲一旦選擇彙總行,就會訪問其他更新。

我只想用「打開」所示的EVENT_TYPE行,所以我使用:

dt.DefaultView.RowFilter = " [EVENT_TYPE] = 'Open'" 

我有一個名爲匹配列這給百分比匹配每個結果,我將如何結合所有具有相同ID的行的結果?

即將具有重複ID號的所有行的所有匹配分數相加,並添加到新列中?

ID | EVENT_TYPE| match 
123  Open  33 
123  Closed  47 
123  Update  12 

在理想情況下顯示爲:

ID | EVENT_TYPE| match | matchTotal 
123  Open  33  92 

我想這可能是使用數據表計算,但它不會出現的情況是容易的,我不認爲這是可能的按要求的方式過濾。

dt.Compute("Sum(Match)", "[EVENT_TYPE] = 'Open' AND Duplicate(INCIDENT_ID)") 

回答

0

您可以嘗試LINQ:

Dim q = From p In dt 
Group p By tID = p(0) _ 
Into matchTotal= Sum(Convert.ToDouble(p(2))) _ 
Select tID, totalForType 
'Where dt is your original datatable 

我知道,這將是導致此:

ID | matchTotal 
123  92 

但我爲您提供一個起點。