我對LINQ還是一個新手,我已經爲查詢花費了好幾天的時間,並準備投降,無視這個問題。特定的VB Linq查詢幫助
我需要: 加入3個表(總共2個數據庫)。讓我們稱之爲 表1表2 表3
表1加入到表2中的 「組織」
結果加入到表3的 「EMPLID」
過濾器(在哪裏):
Table3.success = true
Table3.appcode =「neo」
Tab le1.empl_rcd = 0
起始日期(一個我可以在傳遞一個變量)
END_DATE(一說我可以通過一個變量)
分組:(我認爲是分組如何)
構成連接表必須爲每個「emplid」分組(最初的「emplid」)選擇最早的(最遠的過去的)「戳記」日期字段(原本在表3上的「emplid」和表1)
從加入表mu ST只選擇每個「EMPLID」分組最新(最近)「effdt」日期字段(在表1「effdt」原來,最初在表3和表1「EMPLID」)
選擇:
我需要從先前的邏輯中選擇所有返回的行。我可以弄清楚如何篩選我需要的最後一行。
這裏是我得到執行的最後一件事,它可能給你的我在做什麼的想法:
query = (From j In db.table1s _
Join a In db.table3s _
On j.EMPLID Equals a.emplid _
Join d In db.table2s _
On d.ORG Equals j.Org _
Where a.appcode = "neo" _
Where a.success = True _
Select a.appcode, j.effdt, a.stamp, j.EMPLID, _
d.ORGANIZATION_DESCRIPTION, d.DEPARTMENT_DESCRIPTION, d.VP_DESCRIPTION, _
a.success _
Distinct).AsQueryable().AsEnumerable()
如果你能讓我到這地步,我給你的信用。但是如果你能做下一件事情,在我發放信用卡之前,我會給YOU credit。
然後超出該結果我需要返回每個「組織」的唯一「emplid」計數。所以最終的結果將如下所示:
org | count | (other columns)
------------------------------------------------
12345 | 15 | etc...
54321 | 7 | etc...
感謝您協助noob。