내가 가지고 다음과 같은 테이블을 조인 조건에 첫 번째 레코드를 선택합니다. 그러나 사용자는 Inactive
일 수 있습니다. 따라서 Delegates 테이블은 프로젝트 데이터에 액세스 할 수있는 사용자를 정의하는 다 대다 (many to many) 테이블입니다.SQL 다중 테이블
내가 필요한 것은 관리자가 Inactive
이라고 가정하고 Active
인 프로젝트의 첫 번째 대표를 선택하는 것입니다. OrderNo
필드는 대리인의 순서를 지정합니다 (1이 먼저 있음).
일부 샘플 데이터 :
가Project
1, Project1, 2
2, Project2, 4
3, Project3, 1
Users
1, Joe, true
2, John, false
3, Dave, true
4, Bob, false
Delegates
1, 4, 1
1, 1, 2
1, 3, 3
2, 2, 1
2, 4, 2
2, 3, 3
그래서 내 쿼리의 출력을 보여줄 필요가있다 :
Project1, Joe
Project2, Dave
Project3, Joe
쇼 프로젝트 및 사용자를 ManagerUser_ID
이 비활성 인 경우 각 프로젝트에 대해 다음을 선택합니다 User
, Delegates
, 가장 낮은 숫자가 OrderNo
, 즉 Active
입니다.
불행하게도 프로젝트의 첫 번째 Active Delegate를 조사하지 않습니다. 그러면 주문 번호와 함께 프로젝트의 모든 사용자가 나열됩니다. 결과 세트를 활성화 된 가장 낮은 OrderNo로 제한하는 어딘가에 호출이 있어야합니다. – Simon