私には次のジレンマがあります:
2つのテーブルがあります:PatientとCharges、patOIDはChargesテーブル内の外部キーです。
2つのテーブル間の単純な結合:
from itemPat in listPat
join itemCharge in listCharge on itemPat.patOID equals itemC.patOID
select new
{
itemPat.patOID,
itemCharge.paid
}
患者が複数の請求を受ける可能性があるという顔を考慮して、特定のフィールド(例:有料)の最大値のitemChargeを取得するにはどうすればよいですか?
私は何を試しましたか:
from itemPat in listPat
join itemCharge in listCharge on itemPat.patOID equals itemC.patOID into zzz
select new
{
itemPat.patOID,
MaxPay=zzz.Max(p=>p.paid),
}
このソリューションは、そのフィールドの値を提供しますが、参照したいレコード内の他のフィールドへのアクセスを提供しません。どうやってやるの ?
私は次のようなことを考えています:
from itemPat in listPat
join itemCharge in listCharge.Where(p=>Max(p.paid)) on itemPat.patOID equals itemC.patOID into zzz
select new
{
itemPat.patOID,
MaxPay=zzz.Max(p=>p.paid),
}