두 테이블, User
및 UserAccess
이 있습니다.테이블의 집계 데이터 - TSQL
표 - User
:
USER_ID , Client_ID , Start_Date
1 123 2015-06-30
2 123 2015-06-25
3 123 2015-06-20
5 888 2016-02-10
6 888 2016-02-15
7 888 2016-02-12
표 - UserAccess
은 :
USER_ACCESS_ID USER_ID
10 1
11 2
12 3
13 6
14 7
또는 UserAccess
기록없이 많은 Users
기록이있을 것입니다. User_ID
은 User
테이블의 PK이고테이블의 FK입니다.
대신 클라이언트마다 하나의 사용자 레코드를 반환하는 일반 쿼리를 작성해야합니다. 동일한 클라이언트에 대해 둘 이상의 사용자 레코드가 있습니다.
쿼리는 User
에서 단지 2 레코드를 반환해야합니다 ..
초기 Start_Date
와 User
을 선택하고, 해당 UserAccess
와 기록이있는 경우, 그것은 UserAccess
기록하지 않고 하나 이상의 승자가 고려 될 것입니다 테이블
- 같은 사용자 # 3는 초기
Start_Date
기록UserAccess
와 - 사용자 # 5는 초기을 가지고있다으로이지만
UserAccess
레코드가 없으므로 가장 빠른 날짜의 사용자 액세스 레코드가 있으므로 사용자 # 7을 선택해야합니다.
희망을 설명 할 수있었습니다.
미리 감사드립니다.
감사
앨리
내가 자식 테이블에 수를 확인하여 CTE를 시도했지만 쓰기 결과를 잘 해냈어 – Ally