0
T-SQL/SQL Serverを使用するのは新しいですが、Linqで希望の結果を得る方法がわかりません。結果をグループ化して重複を削除するには
from com in Complaints
join pro in Projects on com.ProjectId equals pro.ProjectId
join cont in Contacts on com.SubContractorContactId equals cont.ContactId
join cont2 in Contacts on com.OccupantContactId equals cont2.ContactId
where com.EmailStatusId == null
select new
{
pro.ProjectName,
com.ComplaintId,
com.ComplaintName,
SubContractorName = cont.FirstName,
SubContractorEmail = cont.Email,
com.DueDate,
OccupantName = cont2.FirstName,
OccupantPhone = cont2.Phone,
OccupantEmail = cont2.Email
}
が、私は結果が、その中にリストされた各苦情に明確なプロジェクトを返すしたい:私は次のような結果を得るの下のコードから
。さらに、重複を削除しながら、各連絡先を苦情の中でグループ化したいと思います。だから、私の望む結果は、各プロジェクトごとに1つの行になり、プロジェクト内ではそれぞれの苦情があり、各苦情の連絡先に連絡があります。
私はこの概要を作成しました。
Projects
- Lake Road Construction
- Complaints
- Foundation Cracks: ComplaintId 1, DueDate
- Contacts
- SubContractor
- Carlo
- [email protected]
- Occupant
- William
- [email protected]
- 616-846-0467
- Drywall: ComplaintId 2, DueDate
- Contacts
- SubContractor
* No SubContractor needed since the previous complaint has the same SubContractor.
- Occupant
- Keesha
- [email protected]
- 661-205-2018
- Jennifer Lane Renovation
- Complaints
- Light Fixture: ComplaintId 3, DueDate
- Contacts
- SubContractor
- Ardith
- [email protected]
- Occupant
- Olivia
- [email protected]
- 210-530-5281
- Plumbing: ComplaintId 4, DueDate
- Contacts
* Contacts have already been collected from the other complaint.
私が読んだところでは、「new by group」を使用するか、UNIONを使用する必要があると思います。しかし、私が行くべき方向ではわかりません。どんな助けも大歓迎です。
を持っています!私はこのようにすることは決して考えなかったでしょう。私は私のLinq /ラムダをブラッシュアップする必要があるように見えます。 –