私の目標は、別のテーブルの主キーに基づいて、あるテーブルから加重平均を取得することです。
サンプルデータ:
表1
Key WEIGHTED_AVERAGE
0200 0
表2
ForeignKey Length Value
0200 105 52
0200 105 60
0200 105 54
0200 105 -1
0200 47 55
セグメントの長さに基づいて加重平均を取得する必要があり、-1 の値を無視する必要があります。SQL でこれを行う方法は知っていますが、私の目標は LINQ でこれを行うことです。SQL では次のようになります。
SELECT Sum(t2.Value*t2.Length)/Sum(t2.Length) AS WEIGHTED_AVERAGE
FROM Table1 t1, Table2 t2
WHERE t2.Value <> -1
AND t2.ForeignKey = t1.Key;
私はまだLINQにかなり慣れていないため、これをどのように翻訳するかを理解するのに苦労しています。結果の加重平均は、およそ 55.3 になるはずです。ありがとうございました。