Как свести дублированные записи к конкретной записи в результатах запроса - PullRequest
0 голосов
/ 22 октября 2018

В результатах моего запроса я получаю дублированные автомобили для водителей в соответствии с определенной политикой, и результаты в моем первоначальном запросе хороши.Вот мои результаты:

Rollup Question

На картинке выше я хотел бы отобразить ТОЛЬКО ЗАДАННЫЕ ТРАНСПОРТНЫЕ СРЕДСТВА для POLICYHOLDER и удалить те же самые автомобили из ACTIVEзаписи в той же политике.Вот то, на что я надеялся, это будет выглядеть так:

Rollup Resolution

Вот мой sql код:

WITH CTE1 as 
(
SELECT pr1.*
FROM #tempPIFRecords pr1
), 
CTE2 as (
SELECT pavr.*
FROM #tempPIFAssocVehicleRecords pavr
)

SELECT CTE1.*, CTE2.Year, CTE2.Make, CTE2.Model, CTE2.[Effective Date], CTE2.[Expiration Date]
FROM CTE1
LEFT OUTER JOIN CTE2
ON CTE1.AgentNo = CTE2.AgentNo
AND CTE1.PolicyNo = CTE2.PolicyNo
ORDER BY CTE1.AgentNo asc, CTE1.PolicyNo asc;

Любая помощь /направление будет оценено.Спасибо.

1 Ответ

0 голосов
/ 23 октября 2018

Все должно быть в порядке:

WITH CTE1 as 
(
SELECT pr1.*
FROM #tempPIFRecords pr1
), 
CTE2 as (
SELECT pavr.*
FROM #tempPIFAssocVehicleRecords pavr
)

SELECT CTE1.*, ISNULL(CTE2.Year, '') AS Year, ISNULL(CTE2.Make, '') AS MAke, ISNULL(CTE2.Model, '') AS Model, ISNULL(CTE2.[Effective Date], '') AS [Effective Date], ISNULL(CTE2.[Expiration Date], '') AS [Expiration Date]
FROM CTE1
LEFT OUTER JOIN CTE2
ON CTE1.AgentNo = CTE2.AgentNo
AND CTE1.PolicyNo = CTE2.PolicyNo
AND CTE1.[DriverType] = 'PolicyHolder'
ORDER BY CTE1.AgentNo asc, CTE1.PolicyNo asc;
...