각 트랜잭션 행마다 하나의 위치를 선택하려고합니다.가장 가까운 날짜를 비교하기위한 SQL 쿼리
문제는 클라이언트가 다른 위치로 전송할 수 있다는 것입니다. 나는 MAX (ClientLocation.TransferDate)를 선택하는데 성공했지만 그 날짜는 필요 없다. 이 날짜는 거래가 일어 났을 때 고객이 있던 위치를 비교하는 유일한 방법입니다.
각 트랜잭션이 ClientLocation의 수에 따라 중복되는 결과가 계속 나타납니다. 위치가있는 위치.
SELECT MAX(ClientLocation.TransferDate, Transaction.Date, Client.Name, Location.Name
FROM Transaction
JOIN Client ON Transaction.ClientID = Client.ID
JOIN ClientLocation ON Client.ID = ClientLocation.ClientID
JOIN Location ON ClientLocation.LocationID = Location.ID
WHERE Client.ID=ClientLocation.ClientID < Transaction.Date
GROUP BY Transaction.Date, Client.Name, Location.Name
Client, ClientLocation, Location 및 Transaction 테이블에 대해 DDL을 제공 할 수 있습니까? 같은 데이터를 쿼리 할 때 예상되는 출력과 샘플 데이터도 도움이됩니다. – Deleted