Ich habe eine Abfrage zum Festlegen der Partitionen erstellen und verwendet die row_number das Problem hier ist ich verpasse bestimmte person_id Datensätze aber wann Ich benutze eine Bedingung wo ich den Rekord holen kann.Fehlende personid oder Felder bei der Verwendung der Zeilennummer über Partition, aber in der Lage, sie zu finden, wenn eine WHERE-Bedingung
`SELECT C.* FROM
(SELECT
B.PROVIDER_PAU_DK AS PROVIDER_PAU_DK,
B.PERSON_ID AS PERSON_ID,
B.POS_BEGIN_DATE AS POS_BEGIN_DATE,
B.POS_END_DATE AS POS_END_DATE,
ROW_NUMBER() OVER (PARTITION BY POS_END_DATE) AS ENDDATE
FROM
(SELECT
A.PROVIDER_PAU_DK AS PROVIDER_PAU_DK,
A.PERSON_ID AS PERSON_ID,
A.POS_BEGIN_DATE AS POS_BEGIN_DATE,
A.POS_END_DATE AS POS_END_DATE
FROM
(SELECT
PROVIDER_PAU_DK,
PERSON_ID,
ROW_NUMBER() OVER (PARTITION BY PERSON_ID,POS_BEGIN_DATE,POS_END_DATE) AS RN,
--ROW_NUMBER() OVER (PARTITION BY PERSON_ID,POS_END_DATE) AS RN1,
POS_BEGIN_DATE,
POS_END_DATE
FROM CCR_EDTWH.DIM_PROVIDER_PAU
WHERE PERSON_ID in (16198964)
ORDER BY PERSON_ID)A
WHERE A.RN=1) B)C
WHERE C.ENDDATE IN (1,2)
--and person_id=16198964`