저는 LINQ에 익숙하지 않습니다. 며칠 동안 질의에 임했습니다.이 기사에서 무지하게 항복 할 준비가되었습니다.특정 VB Linq 쿼리 도움말
다음과 같이해야합니다. 3 테이블을 합치십시오 (총 2 개의 데이터베이스에서). 표 표 2 표 3 그들을 를 호출 할 수 있습니다
표는 "조직"결과가
필터 "emplid"표 3에 조인
()을 표 2에 조인
:Table3.success = 사실
Table3.appcode = "신"
탭 le1.empl_rcd = 0
시작일 (I 변수로 전달할 수있는 하나) (I 변수로 전달할 수있는 하나)
종료일
그룹화 : (나는 그룹화 생각하는 방법을이다)
양식 가입 된 테이블은 각 "emplid"그룹화 (원래 Table3의 "스탬프", 원래 Table3의 "emplid")에 대해 가장 오래된 (가장 먼 과거의) "스탬프"날짜 필드를 선택해야합니다 및 표 1)
결합 표로부터 일 만 그룹화 각 "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 크레딧을 제공 할 것입니다.
그 결과 각 "조직"에 대해 고유 한 "emplid"를 반환해야합니다. 결과는 다음과 같습니다.
org | count | (other columns)
------------------------------------------------
12345 | 15 | etc...
54321 | 7 | etc...
멍청한 놈을 도와 주셔서 감사합니다.