Я действительно застреваю Я создаю временную таблицу, в которой хранится список клиентов, их последняя дата подписания политики и какой тип бизнес-источника.SQL Выберите ID с самой последней датой
Я пытаюсь выяснить, что является последним источником для тысяч клиентов.
DROP TABLE #TEMP
CREATE TABLE #TEMP([user] INT, [policySignedDateTime] DATETIME, [BS] INT)
INSERT INTO #TEMP
SELECT TOP (100) PERCENT
dbo.tblCustomerUser.IdentityID,
MAX(dbo.tblApplication.PolicySignedDateTime) AS 'last',
(dbo.tblApplication.BusinessSourceID) AS BS
FROM dbo.tblApplication
INNER JOIN dbo.tblCustomerUser
ON dbo.tblApplication.CustomerUserID = dbo.tblCustomerUser.IdentityID
INNER JOIN dbo.tblIndividual
ON dbo.tblCustomerUser.IdentityID = dbo.tblIndividual.IdentityID
WHERE (dbo.tblApplication.BusinessSourceID in (1,11))
AND (dbo.tblApplication.PolicySignedDateTime is not null)
AND (dbo.tblCustomerUser.IdentityID = 54456)
GROUP BY
dbo.tblCustomerUser.IdentityID,
dbo.tblIndividual.FirstNames,
dbo.tblIndividual.LastName,
dbo.tblApplication.BusinessSourceID
Результат выглядит это для одного пользователя
- 54456 // 2012-12-12 00: 00: 00,000 // 1
- 54456 // 2012-01-09 00: 00: 00.000 // 11
Так что в основном я пытаюсь вернуть только верхний ряд, поскольку это самая последняя дата.
Любые советы были бы замечательными!
Try [Rank] (http://msdn.microsoft.com/en-us/library/ms176102.aspx) - 'RANK() OVER ([partition_by_clause ] order_by_clause) ' – zx8754
Спасибо, что это было именно то, что мне нужно! – Bobby