0

全文検索を使用して MSSQL のテーブルを検索しています。この表には、サポート インシデントの概要と内容が含まれています。要約は、OPEN の EVENT_TYPE を持つことによって識別されます。

すべてのイベント タイプを検索したいので、関連するテキスト (コメント) を含むフィールドに全文検索を設定しました。要約行が選択されると、他の更新にアクセスするため、画面 (DataGridView) に要約行のみを表示したいと考えています。

「Open」のEVENT_TYPEが表示されている行のみが必要なので、次を使用しています:

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

datatables Compute を使用するケースかもしれないと思いましたが、それほど簡単ではないようです。必要な方法でフィルタリングすることはできないと思います。

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

1 に答える 1

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

しかし、私はあなたに出発点を提供しています。

于 2012-11-22T15:28:43.670 に答える