我正在尝试为每个交易行选择一个位置。
问题是客户端可以转移到不同的位置。我已经成功选择了 MAX(ClientLocation.TransferDate),但我不需要那个日期。那个日期是我比较交易发生时客户所在位置的唯一方法。
我不断得到结果,其中每笔交易都根据他们拥有的 ClientLocation.Location 的数量而重复。
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