顧客のリスト、最後に保険契約に署名した日付、およびビジネス ソースの種類を保持する一時テーブルを作成していて、本当に困っています。
私は、何千もの顧客にとって最後のビジネス ソースが何かを見つけようとしています。
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
1 人のユーザーの出力は次のようになります
- 54456 // 2012-12-12 00:00:00.000 // 1
- 54456 // 2012-01-09 00:00:00.000 // 11
したがって、基本的には最新の日付であるため、一番上の行のみを返そうとしています。
どんなアドバイスも素晴らしいでしょう!