我正在使用全文搜索在MSSQL中搜索表。此表包含支持事件的摘要和内容。通过使EVENT_TYPE为Open来识别摘要。
我想搜索所有事件类型,因此我在包含相关文本(COMMENTS)的字段上设置了全文搜索。现在我只想在屏幕上显示摘要行(DataGridView),因为一旦选择了摘要行,就会访问其他更新。
我只想要显示EVENT_TYPE为'Open'的行,所以我正在使用:
dt.DefaultView.RowFilter = " [EVENT_TYPE] = 'Open'"
我有一个名为Match的列,它给出了每个结果的百分比匹配,我如何组合具有相同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 :(得分: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
但我为你提供了一个起点。