[Year]
、、、、の 4 つの[ServiceCredited]
フィールドを返すやや単純なクエリがあり[Salary]
ます[CoveredEmployer]
。
Table1 を使用して、最初の 3 つのフィールドを取得できますが、[CoveredEmployer]
. . _ [CoveredEmployer]
_[CoveredEmployer]
SELECT a.SCHOOL_YEAR as Year, a.TOTAL_SERVICE_CREDIT as ServiceCredited, a.RETIREMENT_SALARY as Salary, c.ORG_NAME as CoveredEmployer
FROM TBL1 a
INNER JOIN TBL2 b ON a.MEMBER_ACCOUNT_ID = b.MEMBER_ACCOUNT_ID
INNER JOIN TBL3 c ON b.ORG_ID = c.ORG_ID
WHERE a.MEMBER_ACCOUNT_ID = 136079
ORDER BY YEAR DESC;
次に、コードで、結果を [Year] でグループ化し、複数の雇用主が存在する場合、[CoveredEmployer]
値を「複数の雇用主」にします。
var lyosGroupedByYear = lyos.GroupBy(x => x.Year).Select(x => new Years_Of_Service()
{
Year = x.Key,
//ServiceCredited = x.Sum(y => y.ServiceCredited),
//Salary = x.Sum(y => y.Salary),
ServiceCredited = x.First().ServiceCredited,
Salary = x.First().Salary,
CoveredEmployer = x.Count() > 1 ? "Multiple Employers" : x.First().CoveredEmployer
}).ToList();
ただし、上記のクエリの問題は、デカルト結合を取得しているため、グループ化された各レコードの出力に「複数の雇用主」が表示されることです (以下は単に 2013 年と 2014 年の結果であり、実際の結果は 1982 年にさかのぼります)同じ問題):
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Special School Dist-St. Louis
2014 Hazelwood R-I Schools
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 Special School Dist-St. Louis
2014 St. Louis Community College
2014 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Hazelwood R-I Schools
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 St. Louis Community College
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
2013 1 95476.8 Special School Dist-St. Louis
デカルト結合を扱うのはこれが初めてです。私のクエリでこの問題を修正する方法を知っている人はいますか?